{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} #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.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import qualified Foreign.Ptr as FP 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 `Closure`. genClosure_TreeViewSearchPositionFunc :: TreeViewSearchPositionFunc -> IO Closure genClosure_TreeViewSearchPositionFunc cb = do let cb' = drop_closures_TreeViewSearchPositionFunc cb let cb'' = wrap_TreeViewSearchPositionFunc Nothing cb' mk_TreeViewSearchPositionFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeViewSearchEqualFunc :: TreeViewSearchEqualFunc -> IO Closure genClosure_TreeViewSearchEqualFunc cb = do let cb' = drop_closures_TreeViewSearchEqualFunc cb let cb'' = wrap_TreeViewSearchEqualFunc Nothing cb' mk_TreeViewSearchEqualFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeViewRowSeparatorFunc :: TreeViewRowSeparatorFunc -> IO Closure genClosure_TreeViewRowSeparatorFunc cb = do let cb' = drop_closures_TreeViewRowSeparatorFunc cb let cb'' = wrap_TreeViewRowSeparatorFunc Nothing cb' mk_TreeViewRowSeparatorFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeViewMappingFunc :: TreeViewMappingFunc -> IO Closure genClosure_TreeViewMappingFunc cb = do let cb' = drop_closures_TreeViewMappingFunc cb let cb'' = wrap_TreeViewMappingFunc Nothing cb' mk_TreeViewMappingFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeViewColumnDropFunc :: TreeViewColumnDropFunc -> IO Closure genClosure_TreeViewColumnDropFunc cb = do let cb' = drop_closures_TreeViewColumnDropFunc cb let cb'' = wrap_TreeViewColumnDropFunc Nothing cb' mk_TreeViewColumnDropFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeSelectionFunc :: TreeSelectionFunc -> IO Closure genClosure_TreeSelectionFunc cb = do let cb' = drop_closures_TreeSelectionFunc cb let cb'' = wrap_TreeSelectionFunc Nothing cb' mk_TreeSelectionFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeSelectionForeachFunc :: TreeSelectionForeachFunc -> IO Closure genClosure_TreeSelectionForeachFunc cb = do let cb' = drop_closures_TreeSelectionForeachFunc cb let cb'' = wrap_TreeSelectionForeachFunc Nothing cb' mk_TreeSelectionForeachFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeModelForeachFunc :: TreeModelForeachFunc -> IO Closure genClosure_TreeModelForeachFunc cb = do let cb' = drop_closures_TreeModelForeachFunc cb let cb'' = wrap_TreeModelForeachFunc Nothing cb' mk_TreeModelForeachFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeModelFilterVisibleFunc :: TreeModelFilterVisibleFunc -> IO Closure genClosure_TreeModelFilterVisibleFunc cb = do let cb' = drop_closures_TreeModelFilterVisibleFunc cb let cb'' = wrap_TreeModelFilterVisibleFunc Nothing cb' mk_TreeModelFilterVisibleFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeIterCompareFunc :: TreeIterCompareFunc -> IO Closure genClosure_TreeIterCompareFunc cb = do let cb' = drop_closures_TreeIterCompareFunc cb let cb'' = wrap_TreeIterCompareFunc Nothing cb' mk_TreeIterCompareFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeDestroyCountFunc :: TreeDestroyCountFunc -> IO Closure genClosure_TreeDestroyCountFunc cb = do let cb' = drop_closures_TreeDestroyCountFunc cb let cb'' = wrap_TreeDestroyCountFunc Nothing cb' mk_TreeDestroyCountFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TreeCellDataFunc :: TreeCellDataFunc -> IO Closure genClosure_TreeCellDataFunc cb = do let cb' = drop_closures_TreeCellDataFunc cb let cb'' = wrap_TreeCellDataFunc Nothing cb' mk_TreeCellDataFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TranslateFunc :: TranslateFunc -> IO Closure genClosure_TranslateFunc cb = do let cb' = drop_closures_TranslateFunc cb let cb'' = wrap_TranslateFunc Nothing cb' mk_TranslateFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TickCallback :: TickCallback -> IO Closure genClosure_TickCallback cb = do let cb' = drop_closures_TickCallback cb let cb'' = wrap_TickCallback Nothing cb' mk_TickCallback cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TextTagTableForeach :: TextTagTableForeach -> IO Closure genClosure_TextTagTableForeach cb = do let cb' = drop_closures_TextTagTableForeach cb let cb'' = wrap_TextTagTableForeach Nothing cb' mk_TextTagTableForeach cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TextCharPredicate :: TextCharPredicate -> IO Closure genClosure_TextCharPredicate cb = do let cb' = drop_closures_TextCharPredicate cb let cb'' = wrap_TextCharPredicate Nothing cb' mk_TextCharPredicate cb'' >>= newCClosure -- | 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 `Closure`. genClosure_TextBufferSerializeFunc :: TextBufferSerializeFunc -> IO Closure genClosure_TextBufferSerializeFunc cb = do let cb' = drop_closures_TextBufferSerializeFunc cb let cb'' = wrap_TextBufferSerializeFunc Nothing cb' mk_TextBufferSerializeFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_RecentSortFunc :: RecentSortFunc -> IO Closure genClosure_RecentSortFunc cb = do let cb' = drop_closures_RecentSortFunc cb let cb'' = wrap_RecentSortFunc Nothing cb' mk_RecentSortFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_RecentFilterFunc :: RecentFilterFunc -> IO Closure genClosure_RecentFilterFunc cb = do let cb' = drop_closures_RecentFilterFunc cb let cb'' = wrap_RecentFilterFunc Nothing cb' mk_RecentFilterFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_RcPropertyParser :: RcPropertyParser -> IO Closure genClosure_RcPropertyParser cb = do let cb' = wrap_RcPropertyParser Nothing cb mk_RcPropertyParser cb' >>= newCClosure -- | 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 `Closure`. genClosure_PrintSettingsFunc :: PrintSettingsFunc -> IO Closure genClosure_PrintSettingsFunc cb = do let cb' = drop_closures_PrintSettingsFunc cb let cb'' = wrap_PrintSettingsFunc Nothing cb' mk_PrintSettingsFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_PageSetupDoneFunc :: PageSetupDoneFunc -> IO Closure genClosure_PageSetupDoneFunc cb = do let cb' = drop_closures_PageSetupDoneFunc cb let cb'' = wrap_PageSetupDoneFunc Nothing cb' mk_PageSetupDoneFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ModuleInitFunc :: ModuleInitFunc -> IO Closure genClosure_ModuleInitFunc cb = do let cb' = wrap_ModuleInitFunc Nothing cb mk_ModuleInitFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_ModuleDisplayInitFunc :: ModuleDisplayInitFunc -> IO Closure genClosure_ModuleDisplayInitFunc cb = do let cb' = wrap_ModuleDisplayInitFunc Nothing cb mk_ModuleDisplayInitFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_MenuPositionFunc :: MenuPositionFunc -> IO Closure genClosure_MenuPositionFunc cb = do let cb' = drop_closures_MenuPositionFunc cb let cb'' = wrap_MenuPositionFunc Nothing cb' mk_MenuPositionFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_MenuDetachFunc :: MenuDetachFunc -> IO Closure genClosure_MenuDetachFunc cb = do let cb' = wrap_MenuDetachFunc Nothing cb mk_MenuDetachFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_ListBoxUpdateHeaderFunc :: ListBoxUpdateHeaderFunc -> IO Closure genClosure_ListBoxUpdateHeaderFunc cb = do let cb' = drop_closures_ListBoxUpdateHeaderFunc cb let cb'' = wrap_ListBoxUpdateHeaderFunc Nothing cb' mk_ListBoxUpdateHeaderFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ListBoxSortFunc :: ListBoxSortFunc -> IO Closure genClosure_ListBoxSortFunc cb = do let cb' = drop_closures_ListBoxSortFunc cb let cb'' = wrap_ListBoxSortFunc Nothing cb' mk_ListBoxSortFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ListBoxForeachFunc :: ListBoxForeachFunc -> IO Closure genClosure_ListBoxForeachFunc cb = do let cb' = drop_closures_ListBoxForeachFunc cb let cb'' = wrap_ListBoxForeachFunc Nothing cb' mk_ListBoxForeachFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ListBoxFilterFunc :: ListBoxFilterFunc -> IO Closure genClosure_ListBoxFilterFunc cb = do let cb' = drop_closures_ListBoxFilterFunc cb let cb'' = wrap_ListBoxFilterFunc Nothing cb' mk_ListBoxFilterFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ListBoxCreateWidgetFunc :: ListBoxCreateWidgetFunc -> IO Closure genClosure_ListBoxCreateWidgetFunc cb = do let cb' = drop_closures_ListBoxCreateWidgetFunc cb let cb'' = wrap_ListBoxCreateWidgetFunc Nothing cb' mk_ListBoxCreateWidgetFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_KeySnoopFunc :: KeySnoopFunc -> IO Closure genClosure_KeySnoopFunc cb = do let cb' = drop_closures_KeySnoopFunc cb let cb'' = wrap_KeySnoopFunc Nothing cb' mk_KeySnoopFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_IconViewForeachFunc :: IconViewForeachFunc -> IO Closure genClosure_IconViewForeachFunc cb = do let cb' = drop_closures_IconViewForeachFunc cb let cb'' = wrap_IconViewForeachFunc Nothing cb' mk_IconViewForeachFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_FontFilterFunc :: FontFilterFunc -> IO Closure genClosure_FontFilterFunc cb = do let cb' = drop_closures_FontFilterFunc cb let cb'' = wrap_FontFilterFunc Nothing cb' mk_FontFilterFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_FlowBoxSortFunc :: FlowBoxSortFunc -> IO Closure genClosure_FlowBoxSortFunc cb = do let cb' = drop_closures_FlowBoxSortFunc cb let cb'' = wrap_FlowBoxSortFunc Nothing cb' mk_FlowBoxSortFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_FlowBoxForeachFunc :: FlowBoxForeachFunc -> IO Closure genClosure_FlowBoxForeachFunc cb = do let cb' = drop_closures_FlowBoxForeachFunc cb let cb'' = wrap_FlowBoxForeachFunc Nothing cb' mk_FlowBoxForeachFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_FlowBoxFilterFunc :: FlowBoxFilterFunc -> IO Closure genClosure_FlowBoxFilterFunc cb = do let cb' = drop_closures_FlowBoxFilterFunc cb let cb'' = wrap_FlowBoxFilterFunc Nothing cb' mk_FlowBoxFilterFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_FlowBoxCreateWidgetFunc :: FlowBoxCreateWidgetFunc -> IO Closure genClosure_FlowBoxCreateWidgetFunc cb = do let cb' = drop_closures_FlowBoxCreateWidgetFunc cb let cb'' = wrap_FlowBoxCreateWidgetFunc Nothing cb' mk_FlowBoxCreateWidgetFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_FileFilterFunc :: FileFilterFunc -> IO Closure genClosure_FileFilterFunc cb = do let cb' = drop_closures_FileFilterFunc cb let cb'' = wrap_FileFilterFunc Nothing cb' mk_FileFilterFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_EntryCompletionMatchFunc :: EntryCompletionMatchFunc -> IO Closure genClosure_EntryCompletionMatchFunc cb = do let cb' = drop_closures_EntryCompletionMatchFunc cb let cb'' = wrap_EntryCompletionMatchFunc Nothing cb' mk_EntryCompletionMatchFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ColorSelectionChangePaletteWithScreenFunc :: ColorSelectionChangePaletteWithScreenFunc -> IO Closure genClosure_ColorSelectionChangePaletteWithScreenFunc cb = do let cb' = wrap_ColorSelectionChangePaletteWithScreenFunc Nothing cb mk_ColorSelectionChangePaletteWithScreenFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_ColorSelectionChangePaletteFunc :: ColorSelectionChangePaletteFunc -> IO Closure genClosure_ColorSelectionChangePaletteFunc cb = do let cb' = wrap_ColorSelectionChangePaletteFunc Nothing cb mk_ColorSelectionChangePaletteFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardURIReceivedFunc :: ClipboardURIReceivedFunc -> IO Closure genClosure_ClipboardURIReceivedFunc cb = do let cb' = drop_closures_ClipboardURIReceivedFunc cb let cb'' = wrap_ClipboardURIReceivedFunc Nothing cb' mk_ClipboardURIReceivedFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardTextReceivedFunc :: ClipboardTextReceivedFunc -> IO Closure genClosure_ClipboardTextReceivedFunc cb = do let cb' = drop_closures_ClipboardTextReceivedFunc cb let cb'' = wrap_ClipboardTextReceivedFunc Nothing cb' mk_ClipboardTextReceivedFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardTargetsReceivedFunc :: ClipboardTargetsReceivedFunc -> IO Closure genClosure_ClipboardTargetsReceivedFunc cb = do let cb' = drop_closures_ClipboardTargetsReceivedFunc cb let cb'' = wrap_ClipboardTargetsReceivedFunc Nothing cb' mk_ClipboardTargetsReceivedFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardRichTextReceivedFunc :: ClipboardRichTextReceivedFunc -> IO Closure genClosure_ClipboardRichTextReceivedFunc cb = do let cb' = drop_closures_ClipboardRichTextReceivedFunc cb let cb'' = wrap_ClipboardRichTextReceivedFunc Nothing cb' mk_ClipboardRichTextReceivedFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardReceivedFunc :: ClipboardReceivedFunc -> IO Closure genClosure_ClipboardReceivedFunc cb = do let cb' = drop_closures_ClipboardReceivedFunc cb let cb'' = wrap_ClipboardReceivedFunc Nothing cb' mk_ClipboardReceivedFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardImageReceivedFunc :: ClipboardImageReceivedFunc -> IO Closure genClosure_ClipboardImageReceivedFunc cb = do let cb' = drop_closures_ClipboardImageReceivedFunc cb let cb'' = wrap_ClipboardImageReceivedFunc Nothing cb' mk_ClipboardImageReceivedFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardGetFunc :: ClipboardGetFunc -> IO Closure genClosure_ClipboardGetFunc cb = do let cb' = wrap_ClipboardGetFunc Nothing cb mk_ClipboardGetFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_ClipboardClearFunc :: ClipboardClearFunc -> IO Closure genClosure_ClipboardClearFunc cb = do let cb' = wrap_ClipboardClearFunc Nothing cb mk_ClipboardClearFunc cb' >>= newCClosure -- | 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 `Closure`. genClosure_CellLayoutDataFunc :: CellLayoutDataFunc -> IO Closure genClosure_CellLayoutDataFunc cb = do let cb' = drop_closures_CellLayoutDataFunc cb let cb'' = wrap_CellLayoutDataFunc Nothing cb' mk_CellLayoutDataFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_CellCallback :: CellCallback -> IO Closure genClosure_CellCallback cb = do let cb' = drop_closures_CellCallback cb let cb'' = wrap_CellCallback Nothing cb' mk_CellCallback cb'' >>= newCClosure -- | 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 `Closure`. genClosure_CellAllocCallback :: CellAllocCallback -> IO Closure genClosure_CellAllocCallback cb = do let cb' = drop_closures_CellAllocCallback cb let cb'' = wrap_CellAllocCallback Nothing cb' mk_CellAllocCallback cb'' >>= newCClosure -- | 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 `Closure`. genClosure_Callback :: Callback -> IO Closure genClosure_Callback cb = do let cb' = drop_closures_Callback cb let cb'' = wrap_Callback Nothing cb' mk_Callback cb'' >>= newCClosure -- | 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 `Closure`. genClosure_CalendarDetailFunc :: CalendarDetailFunc -> IO Closure genClosure_CalendarDetailFunc cb = do let cb' = drop_closures_CalendarDetailFunc cb let cb'' = wrap_CalendarDetailFunc Nothing cb' mk_CalendarDetailFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_BuilderConnectFunc :: BuilderConnectFunc -> IO Closure genClosure_BuilderConnectFunc cb = do let cb' = drop_closures_BuilderConnectFunc cb let cb'' = wrap_BuilderConnectFunc Nothing cb' mk_BuilderConnectFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_AssistantPageFunc :: AssistantPageFunc -> IO Closure genClosure_AssistantPageFunc cb = do let cb' = drop_closures_AssistantPageFunc cb let cb'' = wrap_AssistantPageFunc Nothing cb' mk_AssistantPageFunc cb'' >>= newCClosure -- | 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 `Closure`. genClosure_AccelMapForeach :: AccelMapForeach -> IO Closure genClosure_AccelMapForeach cb = do let cb' = wrap_AccelMapForeach Nothing cb mk_AccelMapForeach cb' >>= newCClosure -- | 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 = TInterface (Name {namespace = "GObject", name = "Closure"}), 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 Closure -> 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 = TInterface (Name {namespace = "GObject", name = "Closure"}), 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 -> Closure -> Ptr () -> m Bool dynamic_AccelGroupFindFunc __funPtr key closure data_ = liftIO $ do key' <- unsafeManagedPtrGetPtr key closure' <- unsafeManagedPtrGetPtr 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 -> Closure -> 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 -> Closure -> 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 `Closure`. genClosure_AccelGroupFindFunc :: AccelGroupFindFunc -> IO Closure genClosure_AccelGroupFindFunc cb = do let cb' = drop_closures_AccelGroupFindFunc cb let cb'' = wrap_AccelGroupFindFunc Nothing cb' mk_AccelGroupFindFunc cb'' >>= newCClosure -- | 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 B.ManagedPtr.withTransient Closure closure $ \closure' -> do 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 `Closure`. genClosure_AccelGroupActivate :: AccelGroupActivate -> IO Closure genClosure_AccelGroupActivate cb = do let cb' = wrap_AccelGroupActivate Nothing cb mk_AccelGroupActivate cb' >>= newCClosure -- | 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'