{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- t'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget' is a widget for choosing files.
-- It exposes the t'GI.Gtk.Interfaces.FileChooser.FileChooser' interface, and you should
-- use the methods of this interface to interact with the
-- widget.
-- 
-- = CSS nodes
-- 
-- GtkFileChooserWidget has a single CSS node with name filechooser.

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.Gtk.Objects.FileChooserWidget
    ( 

-- * Exported types
    FileChooserWidget(..)                   ,
    IsFileChooserWidget                     ,
    toFileChooserWidget                     ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveFileChooserWidgetMethod          ,
#endif


-- ** new #method:new#

    fileChooserWidgetNew                    ,




 -- * Properties
-- ** searchMode #attr:searchMode#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetSearchModePropertyInfo ,
#endif
    constructFileChooserWidgetSearchMode    ,
#if defined(ENABLE_OVERLOADING)
    fileChooserWidgetSearchMode             ,
#endif
    getFileChooserWidgetSearchMode          ,
    setFileChooserWidgetSearchMode          ,


-- ** subtitle #attr:subtitle#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetSubtitlePropertyInfo   ,
#endif
#if defined(ENABLE_OVERLOADING)
    fileChooserWidgetSubtitle               ,
#endif
    getFileChooserWidgetSubtitle            ,




 -- * Signals
-- ** desktopFolder #signal:desktopFolder#

    C_FileChooserWidgetDesktopFolderCallback,
    FileChooserWidgetDesktopFolderCallback  ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetDesktopFolderSignalInfo,
#endif
    afterFileChooserWidgetDesktopFolder     ,
    genClosure_FileChooserWidgetDesktopFolder,
    mk_FileChooserWidgetDesktopFolderCallback,
    noFileChooserWidgetDesktopFolderCallback,
    onFileChooserWidgetDesktopFolder        ,
    wrap_FileChooserWidgetDesktopFolderCallback,


-- ** downFolder #signal:downFolder#

    C_FileChooserWidgetDownFolderCallback   ,
    FileChooserWidgetDownFolderCallback     ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetDownFolderSignalInfo   ,
#endif
    afterFileChooserWidgetDownFolder        ,
    genClosure_FileChooserWidgetDownFolder  ,
    mk_FileChooserWidgetDownFolderCallback  ,
    noFileChooserWidgetDownFolderCallback   ,
    onFileChooserWidgetDownFolder           ,
    wrap_FileChooserWidgetDownFolderCallback,


-- ** homeFolder #signal:homeFolder#

    C_FileChooserWidgetHomeFolderCallback   ,
    FileChooserWidgetHomeFolderCallback     ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetHomeFolderSignalInfo   ,
#endif
    afterFileChooserWidgetHomeFolder        ,
    genClosure_FileChooserWidgetHomeFolder  ,
    mk_FileChooserWidgetHomeFolderCallback  ,
    noFileChooserWidgetHomeFolderCallback   ,
    onFileChooserWidgetHomeFolder           ,
    wrap_FileChooserWidgetHomeFolderCallback,


-- ** locationPopup #signal:locationPopup#

    C_FileChooserWidgetLocationPopupCallback,
    FileChooserWidgetLocationPopupCallback  ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetLocationPopupSignalInfo,
#endif
    afterFileChooserWidgetLocationPopup     ,
    genClosure_FileChooserWidgetLocationPopup,
    mk_FileChooserWidgetLocationPopupCallback,
    noFileChooserWidgetLocationPopupCallback,
    onFileChooserWidgetLocationPopup        ,
    wrap_FileChooserWidgetLocationPopupCallback,


-- ** locationPopupOnPaste #signal:locationPopupOnPaste#

    C_FileChooserWidgetLocationPopupOnPasteCallback,
    FileChooserWidgetLocationPopupOnPasteCallback,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetLocationPopupOnPasteSignalInfo,
#endif
    afterFileChooserWidgetLocationPopupOnPaste,
    genClosure_FileChooserWidgetLocationPopupOnPaste,
    mk_FileChooserWidgetLocationPopupOnPasteCallback,
    noFileChooserWidgetLocationPopupOnPasteCallback,
    onFileChooserWidgetLocationPopupOnPaste ,
    wrap_FileChooserWidgetLocationPopupOnPasteCallback,


-- ** locationTogglePopup #signal:locationTogglePopup#

    C_FileChooserWidgetLocationTogglePopupCallback,
    FileChooserWidgetLocationTogglePopupCallback,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetLocationTogglePopupSignalInfo,
#endif
    afterFileChooserWidgetLocationTogglePopup,
    genClosure_FileChooserWidgetLocationTogglePopup,
    mk_FileChooserWidgetLocationTogglePopupCallback,
    noFileChooserWidgetLocationTogglePopupCallback,
    onFileChooserWidgetLocationTogglePopup  ,
    wrap_FileChooserWidgetLocationTogglePopupCallback,


-- ** placesShortcut #signal:placesShortcut#

    C_FileChooserWidgetPlacesShortcutCallback,
    FileChooserWidgetPlacesShortcutCallback ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetPlacesShortcutSignalInfo,
#endif
    afterFileChooserWidgetPlacesShortcut    ,
    genClosure_FileChooserWidgetPlacesShortcut,
    mk_FileChooserWidgetPlacesShortcutCallback,
    noFileChooserWidgetPlacesShortcutCallback,
    onFileChooserWidgetPlacesShortcut       ,
    wrap_FileChooserWidgetPlacesShortcutCallback,


-- ** quickBookmark #signal:quickBookmark#

    C_FileChooserWidgetQuickBookmarkCallback,
    FileChooserWidgetQuickBookmarkCallback  ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetQuickBookmarkSignalInfo,
#endif
    afterFileChooserWidgetQuickBookmark     ,
    genClosure_FileChooserWidgetQuickBookmark,
    mk_FileChooserWidgetQuickBookmarkCallback,
    noFileChooserWidgetQuickBookmarkCallback,
    onFileChooserWidgetQuickBookmark        ,
    wrap_FileChooserWidgetQuickBookmarkCallback,


-- ** recentShortcut #signal:recentShortcut#

    C_FileChooserWidgetRecentShortcutCallback,
    FileChooserWidgetRecentShortcutCallback ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetRecentShortcutSignalInfo,
#endif
    afterFileChooserWidgetRecentShortcut    ,
    genClosure_FileChooserWidgetRecentShortcut,
    mk_FileChooserWidgetRecentShortcutCallback,
    noFileChooserWidgetRecentShortcutCallback,
    onFileChooserWidgetRecentShortcut       ,
    wrap_FileChooserWidgetRecentShortcutCallback,


-- ** searchShortcut #signal:searchShortcut#

    C_FileChooserWidgetSearchShortcutCallback,
    FileChooserWidgetSearchShortcutCallback ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetSearchShortcutSignalInfo,
#endif
    afterFileChooserWidgetSearchShortcut    ,
    genClosure_FileChooserWidgetSearchShortcut,
    mk_FileChooserWidgetSearchShortcutCallback,
    noFileChooserWidgetSearchShortcutCallback,
    onFileChooserWidgetSearchShortcut       ,
    wrap_FileChooserWidgetSearchShortcutCallback,


-- ** showHidden #signal:showHidden#

    C_FileChooserWidgetShowHiddenCallback   ,
    FileChooserWidgetShowHiddenCallback     ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetShowHiddenSignalInfo   ,
#endif
    afterFileChooserWidgetShowHidden        ,
    genClosure_FileChooserWidgetShowHidden  ,
    mk_FileChooserWidgetShowHiddenCallback  ,
    noFileChooserWidgetShowHiddenCallback   ,
    onFileChooserWidgetShowHidden           ,
    wrap_FileChooserWidgetShowHiddenCallback,


-- ** upFolder #signal:upFolder#

    C_FileChooserWidgetUpFolderCallback     ,
    FileChooserWidgetUpFolderCallback       ,
#if defined(ENABLE_OVERLOADING)
    FileChooserWidgetUpFolderSignalInfo     ,
#endif
    afterFileChooserWidgetUpFolder          ,
    genClosure_FileChooserWidgetUpFolder    ,
    mk_FileChooserWidgetUpFolderCallback    ,
    noFileChooserWidgetUpFolderCallback     ,
    onFileChooserWidgetUpFolder             ,
    wrap_FileChooserWidgetUpFolderCallback  ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FileChooser as Gtk.FileChooser
import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget

-- | Memory-managed wrapper type.
newtype FileChooserWidget = FileChooserWidget (SP.ManagedPtr FileChooserWidget)
    deriving (FileChooserWidget -> FileChooserWidget -> Bool
(FileChooserWidget -> FileChooserWidget -> Bool)
-> (FileChooserWidget -> FileChooserWidget -> Bool)
-> Eq FileChooserWidget
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FileChooserWidget -> FileChooserWidget -> Bool
$c/= :: FileChooserWidget -> FileChooserWidget -> Bool
== :: FileChooserWidget -> FileChooserWidget -> Bool
$c== :: FileChooserWidget -> FileChooserWidget -> Bool
Eq)

instance SP.ManagedPtrNewtype FileChooserWidget where
    toManagedPtr :: FileChooserWidget -> ManagedPtr FileChooserWidget
toManagedPtr (FileChooserWidget ManagedPtr FileChooserWidget
p) = ManagedPtr FileChooserWidget
p

foreign import ccall "gtk_file_chooser_widget_get_type"
    c_gtk_file_chooser_widget_get_type :: IO B.Types.GType

instance B.Types.TypedObject FileChooserWidget where
    glibType :: IO GType
glibType = IO GType
c_gtk_file_chooser_widget_get_type

instance B.Types.GObject FileChooserWidget

-- | Convert 'FileChooserWidget' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue FileChooserWidget where
    toGValue :: FileChooserWidget -> IO GValue
toGValue FileChooserWidget
o = do
        GType
gtype <- IO GType
c_gtk_file_chooser_widget_get_type
        FileChooserWidget
-> (Ptr FileChooserWidget -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FileChooserWidget
o (GType
-> (GValue -> Ptr FileChooserWidget -> IO ())
-> Ptr FileChooserWidget
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr FileChooserWidget -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO FileChooserWidget
fromGValue GValue
gv = do
        Ptr FileChooserWidget
ptr <- GValue -> IO (Ptr FileChooserWidget)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr FileChooserWidget)
        (ManagedPtr FileChooserWidget -> FileChooserWidget)
-> Ptr FileChooserWidget -> IO FileChooserWidget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr FileChooserWidget -> FileChooserWidget
FileChooserWidget Ptr FileChooserWidget
ptr
        
    

-- | Type class for types which can be safely cast to `FileChooserWidget`, for instance with `toFileChooserWidget`.
class (SP.GObject o, O.IsDescendantOf FileChooserWidget o) => IsFileChooserWidget o
instance (SP.GObject o, O.IsDescendantOf FileChooserWidget o) => IsFileChooserWidget o

instance O.HasParentTypes FileChooserWidget
type instance O.ParentTypes FileChooserWidget = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.ConstraintTarget.ConstraintTarget, Gtk.FileChooser.FileChooser]

-- | Cast to `FileChooserWidget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toFileChooserWidget :: (MonadIO m, IsFileChooserWidget o) => o -> m FileChooserWidget
toFileChooserWidget :: o -> m FileChooserWidget
toFileChooserWidget = IO FileChooserWidget -> m FileChooserWidget
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileChooserWidget -> m FileChooserWidget)
-> (o -> IO FileChooserWidget) -> o -> m FileChooserWidget
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr FileChooserWidget -> FileChooserWidget)
-> o -> IO FileChooserWidget
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr FileChooserWidget -> FileChooserWidget
FileChooserWidget

#if defined(ENABLE_OVERLOADING)
type family ResolveFileChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
    ResolveFileChooserWidgetMethod "actionSetEnabled" o = Gtk.Widget.WidgetActionSetEnabledMethodInfo
    ResolveFileChooserWidgetMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolveFileChooserWidgetMethod "activateAction" o = Gtk.Widget.WidgetActivateActionMethodInfo
    ResolveFileChooserWidgetMethod "activateDefault" o = Gtk.Widget.WidgetActivateDefaultMethodInfo
    ResolveFileChooserWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolveFileChooserWidgetMethod "addChoice" o = Gtk.FileChooser.FileChooserAddChoiceMethodInfo
    ResolveFileChooserWidgetMethod "addController" o = Gtk.Widget.WidgetAddControllerMethodInfo
    ResolveFileChooserWidgetMethod "addCssClass" o = Gtk.Widget.WidgetAddCssClassMethodInfo
    ResolveFileChooserWidgetMethod "addFilter" o = Gtk.FileChooser.FileChooserAddFilterMethodInfo
    ResolveFileChooserWidgetMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolveFileChooserWidgetMethod "addShortcutFolder" o = Gtk.FileChooser.FileChooserAddShortcutFolderMethodInfo
    ResolveFileChooserWidgetMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolveFileChooserWidgetMethod "allocate" o = Gtk.Widget.WidgetAllocateMethodInfo
    ResolveFileChooserWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveFileChooserWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveFileChooserWidgetMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolveFileChooserWidgetMethod "computeBounds" o = Gtk.Widget.WidgetComputeBoundsMethodInfo
    ResolveFileChooserWidgetMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolveFileChooserWidgetMethod "computePoint" o = Gtk.Widget.WidgetComputePointMethodInfo
    ResolveFileChooserWidgetMethod "computeTransform" o = Gtk.Widget.WidgetComputeTransformMethodInfo
    ResolveFileChooserWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolveFileChooserWidgetMethod "contains" o = Gtk.Widget.WidgetContainsMethodInfo
    ResolveFileChooserWidgetMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolveFileChooserWidgetMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolveFileChooserWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolveFileChooserWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolveFileChooserWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolveFileChooserWidgetMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolveFileChooserWidgetMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolveFileChooserWidgetMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolveFileChooserWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveFileChooserWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveFileChooserWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveFileChooserWidgetMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolveFileChooserWidgetMethod "hasCssClass" o = Gtk.Widget.WidgetHasCssClassMethodInfo
    ResolveFileChooserWidgetMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolveFileChooserWidgetMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolveFileChooserWidgetMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolveFileChooserWidgetMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolveFileChooserWidgetMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolveFileChooserWidgetMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolveFileChooserWidgetMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolveFileChooserWidgetMethod "insertAfter" o = Gtk.Widget.WidgetInsertAfterMethodInfo
    ResolveFileChooserWidgetMethod "insertBefore" o = Gtk.Widget.WidgetInsertBeforeMethodInfo
    ResolveFileChooserWidgetMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolveFileChooserWidgetMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolveFileChooserWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveFileChooserWidgetMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolveFileChooserWidgetMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolveFileChooserWidgetMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolveFileChooserWidgetMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolveFileChooserWidgetMethod "listFilters" o = Gtk.FileChooser.FileChooserListFiltersMethodInfo
    ResolveFileChooserWidgetMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolveFileChooserWidgetMethod "listShortcutFolders" o = Gtk.FileChooser.FileChooserListShortcutFoldersMethodInfo
    ResolveFileChooserWidgetMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolveFileChooserWidgetMethod "measure" o = Gtk.Widget.WidgetMeasureMethodInfo
    ResolveFileChooserWidgetMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolveFileChooserWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveFileChooserWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveFileChooserWidgetMethod "observeChildren" o = Gtk.Widget.WidgetObserveChildrenMethodInfo
    ResolveFileChooserWidgetMethod "observeControllers" o = Gtk.Widget.WidgetObserveControllersMethodInfo
    ResolveFileChooserWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolveFileChooserWidgetMethod "pick" o = Gtk.Widget.WidgetPickMethodInfo
    ResolveFileChooserWidgetMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolveFileChooserWidgetMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolveFileChooserWidgetMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolveFileChooserWidgetMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolveFileChooserWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveFileChooserWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveFileChooserWidgetMethod "removeChoice" o = Gtk.FileChooser.FileChooserRemoveChoiceMethodInfo
    ResolveFileChooserWidgetMethod "removeController" o = Gtk.Widget.WidgetRemoveControllerMethodInfo
    ResolveFileChooserWidgetMethod "removeCssClass" o = Gtk.Widget.WidgetRemoveCssClassMethodInfo
    ResolveFileChooserWidgetMethod "removeFilter" o = Gtk.FileChooser.FileChooserRemoveFilterMethodInfo
    ResolveFileChooserWidgetMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolveFileChooserWidgetMethod "removeShortcutFolder" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderMethodInfo
    ResolveFileChooserWidgetMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolveFileChooserWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveFileChooserWidgetMethod "selectAll" o = Gtk.FileChooser.FileChooserSelectAllMethodInfo
    ResolveFileChooserWidgetMethod "selectFile" o = Gtk.FileChooser.FileChooserSelectFileMethodInfo
    ResolveFileChooserWidgetMethod "shouldLayout" o = Gtk.Widget.WidgetShouldLayoutMethodInfo
    ResolveFileChooserWidgetMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolveFileChooserWidgetMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolveFileChooserWidgetMethod "snapshotChild" o = Gtk.Widget.WidgetSnapshotChildMethodInfo
    ResolveFileChooserWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveFileChooserWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveFileChooserWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveFileChooserWidgetMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolveFileChooserWidgetMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolveFileChooserWidgetMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolveFileChooserWidgetMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolveFileChooserWidgetMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolveFileChooserWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveFileChooserWidgetMethod "unselectAll" o = Gtk.FileChooser.FileChooserUnselectAllMethodInfo
    ResolveFileChooserWidgetMethod "unselectFile" o = Gtk.FileChooser.FileChooserUnselectFileMethodInfo
    ResolveFileChooserWidgetMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolveFileChooserWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveFileChooserWidgetMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolveFileChooserWidgetMethod "getAction" o = Gtk.FileChooser.FileChooserGetActionMethodInfo
    ResolveFileChooserWidgetMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolveFileChooserWidgetMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolveFileChooserWidgetMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolveFileChooserWidgetMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolveFileChooserWidgetMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolveFileChooserWidgetMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolveFileChooserWidgetMethod "getCanTarget" o = Gtk.Widget.WidgetGetCanTargetMethodInfo
    ResolveFileChooserWidgetMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolveFileChooserWidgetMethod "getChoice" o = Gtk.FileChooser.FileChooserGetChoiceMethodInfo
    ResolveFileChooserWidgetMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolveFileChooserWidgetMethod "getCreateFolders" o = Gtk.FileChooser.FileChooserGetCreateFoldersMethodInfo
    ResolveFileChooserWidgetMethod "getCssClasses" o = Gtk.Widget.WidgetGetCssClassesMethodInfo
    ResolveFileChooserWidgetMethod "getCssName" o = Gtk.Widget.WidgetGetCssNameMethodInfo
    ResolveFileChooserWidgetMethod "getCurrentFolder" o = Gtk.FileChooser.FileChooserGetCurrentFolderMethodInfo
    ResolveFileChooserWidgetMethod "getCurrentName" o = Gtk.FileChooser.FileChooserGetCurrentNameMethodInfo
    ResolveFileChooserWidgetMethod "getCursor" o = Gtk.Widget.WidgetGetCursorMethodInfo
    ResolveFileChooserWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveFileChooserWidgetMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolveFileChooserWidgetMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolveFileChooserWidgetMethod "getFile" o = Gtk.FileChooser.FileChooserGetFileMethodInfo
    ResolveFileChooserWidgetMethod "getFiles" o = Gtk.FileChooser.FileChooserGetFilesMethodInfo
    ResolveFileChooserWidgetMethod "getFilter" o = Gtk.FileChooser.FileChooserGetFilterMethodInfo
    ResolveFileChooserWidgetMethod "getFirstChild" o = Gtk.Widget.WidgetGetFirstChildMethodInfo
    ResolveFileChooserWidgetMethod "getFocusChild" o = Gtk.Widget.WidgetGetFocusChildMethodInfo
    ResolveFileChooserWidgetMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolveFileChooserWidgetMethod "getFocusable" o = Gtk.Widget.WidgetGetFocusableMethodInfo
    ResolveFileChooserWidgetMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolveFileChooserWidgetMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolveFileChooserWidgetMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolveFileChooserWidgetMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolveFileChooserWidgetMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolveFileChooserWidgetMethod "getHeight" o = Gtk.Widget.WidgetGetHeightMethodInfo
    ResolveFileChooserWidgetMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolveFileChooserWidgetMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolveFileChooserWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolveFileChooserWidgetMethod "getLastChild" o = Gtk.Widget.WidgetGetLastChildMethodInfo
    ResolveFileChooserWidgetMethod "getLayoutManager" o = Gtk.Widget.WidgetGetLayoutManagerMethodInfo
    ResolveFileChooserWidgetMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolveFileChooserWidgetMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolveFileChooserWidgetMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolveFileChooserWidgetMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolveFileChooserWidgetMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolveFileChooserWidgetMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolveFileChooserWidgetMethod "getNative" o = Gtk.Widget.WidgetGetNativeMethodInfo
    ResolveFileChooserWidgetMethod "getNextSibling" o = Gtk.Widget.WidgetGetNextSiblingMethodInfo
    ResolveFileChooserWidgetMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolveFileChooserWidgetMethod "getOverflow" o = Gtk.Widget.WidgetGetOverflowMethodInfo
    ResolveFileChooserWidgetMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolveFileChooserWidgetMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolveFileChooserWidgetMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolveFileChooserWidgetMethod "getPrevSibling" o = Gtk.Widget.WidgetGetPrevSiblingMethodInfo
    ResolveFileChooserWidgetMethod "getPrimaryClipboard" o = Gtk.Widget.WidgetGetPrimaryClipboardMethodInfo
    ResolveFileChooserWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveFileChooserWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveFileChooserWidgetMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolveFileChooserWidgetMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolveFileChooserWidgetMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolveFileChooserWidgetMethod "getRoot" o = Gtk.Widget.WidgetGetRootMethodInfo
    ResolveFileChooserWidgetMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolveFileChooserWidgetMethod "getSelectMultiple" o = Gtk.FileChooser.FileChooserGetSelectMultipleMethodInfo
    ResolveFileChooserWidgetMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolveFileChooserWidgetMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolveFileChooserWidgetMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolveFileChooserWidgetMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolveFileChooserWidgetMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolveFileChooserWidgetMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    ResolveFileChooserWidgetMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolveFileChooserWidgetMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolveFileChooserWidgetMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolveFileChooserWidgetMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolveFileChooserWidgetMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolveFileChooserWidgetMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolveFileChooserWidgetMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolveFileChooserWidgetMethod "getWidth" o = Gtk.Widget.WidgetGetWidthMethodInfo
    ResolveFileChooserWidgetMethod "setAction" o = Gtk.FileChooser.FileChooserSetActionMethodInfo
    ResolveFileChooserWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolveFileChooserWidgetMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolveFileChooserWidgetMethod "setCanTarget" o = Gtk.Widget.WidgetSetCanTargetMethodInfo
    ResolveFileChooserWidgetMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolveFileChooserWidgetMethod "setChoice" o = Gtk.FileChooser.FileChooserSetChoiceMethodInfo
    ResolveFileChooserWidgetMethod "setCreateFolders" o = Gtk.FileChooser.FileChooserSetCreateFoldersMethodInfo
    ResolveFileChooserWidgetMethod "setCssClasses" o = Gtk.Widget.WidgetSetCssClassesMethodInfo
    ResolveFileChooserWidgetMethod "setCurrentFolder" o = Gtk.FileChooser.FileChooserSetCurrentFolderMethodInfo
    ResolveFileChooserWidgetMethod "setCurrentName" o = Gtk.FileChooser.FileChooserSetCurrentNameMethodInfo
    ResolveFileChooserWidgetMethod "setCursor" o = Gtk.Widget.WidgetSetCursorMethodInfo
    ResolveFileChooserWidgetMethod "setCursorFromName" o = Gtk.Widget.WidgetSetCursorFromNameMethodInfo
    ResolveFileChooserWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveFileChooserWidgetMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveFileChooserWidgetMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolveFileChooserWidgetMethod "setFile" o = Gtk.FileChooser.FileChooserSetFileMethodInfo
    ResolveFileChooserWidgetMethod "setFilter" o = Gtk.FileChooser.FileChooserSetFilterMethodInfo
    ResolveFileChooserWidgetMethod "setFocusChild" o = Gtk.Widget.WidgetSetFocusChildMethodInfo
    ResolveFileChooserWidgetMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolveFileChooserWidgetMethod "setFocusable" o = Gtk.Widget.WidgetSetFocusableMethodInfo
    ResolveFileChooserWidgetMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolveFileChooserWidgetMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolveFileChooserWidgetMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolveFileChooserWidgetMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolveFileChooserWidgetMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolveFileChooserWidgetMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolveFileChooserWidgetMethod "setLayoutManager" o = Gtk.Widget.WidgetSetLayoutManagerMethodInfo
    ResolveFileChooserWidgetMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolveFileChooserWidgetMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolveFileChooserWidgetMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolveFileChooserWidgetMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolveFileChooserWidgetMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolveFileChooserWidgetMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolveFileChooserWidgetMethod "setOverflow" o = Gtk.Widget.WidgetSetOverflowMethodInfo
    ResolveFileChooserWidgetMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolveFileChooserWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveFileChooserWidgetMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolveFileChooserWidgetMethod "setSelectMultiple" o = Gtk.FileChooser.FileChooserSetSelectMultipleMethodInfo
    ResolveFileChooserWidgetMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolveFileChooserWidgetMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolveFileChooserWidgetMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolveFileChooserWidgetMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolveFileChooserWidgetMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolveFileChooserWidgetMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolveFileChooserWidgetMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolveFileChooserWidgetMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolveFileChooserWidgetMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolveFileChooserWidgetMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolveFileChooserWidgetMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveFileChooserWidgetMethod t FileChooserWidget, O.MethodInfo info FileChooserWidget p) => OL.IsLabel t (FileChooserWidget -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#endif

-- signal FileChooserWidget::desktop-folder
-- | The [desktopFolder](#g:signal:desktopFolder) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser show the user\'s Desktop
-- folder in the file list.
-- 
-- The default binding for this signal is @Alt + D@.
type FileChooserWidgetDesktopFolderCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetDesktopFolderCallback`@.
noFileChooserWidgetDesktopFolderCallback :: Maybe FileChooserWidgetDesktopFolderCallback
noFileChooserWidgetDesktopFolderCallback :: Maybe (IO ())
noFileChooserWidgetDesktopFolderCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetDesktopFolderCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetDesktopFolderCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetDesktopFolderCallback :: C_FileChooserWidgetDesktopFolderCallback -> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetDesktopFolder :: MonadIO m => FileChooserWidgetDesktopFolderCallback -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetDesktopFolder :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetDesktopFolder IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDesktopFolderCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetDesktopFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetDesktopFolderCallback` into a `C_FileChooserWidgetDesktopFolderCallback`.
wrap_FileChooserWidgetDesktopFolderCallback ::
    FileChooserWidgetDesktopFolderCallback ->
    C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDesktopFolderCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDesktopFolderCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [desktopFolder](#signal:desktopFolder) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #desktopFolder callback
-- @
-- 
-- 
onFileChooserWidgetDesktopFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDesktopFolderCallback -> m SignalHandlerId
onFileChooserWidgetDesktopFolder :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetDesktopFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDesktopFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetDesktopFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"desktop-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [desktopFolder](#signal:desktopFolder) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #desktopFolder callback
-- @
-- 
-- 
afterFileChooserWidgetDesktopFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDesktopFolderCallback -> m SignalHandlerId
afterFileChooserWidgetDesktopFolder :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetDesktopFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDesktopFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetDesktopFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"desktop-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetDesktopFolderSignalInfo
instance SignalInfo FileChooserWidgetDesktopFolderSignalInfo where
    type HaskellCallbackType FileChooserWidgetDesktopFolderSignalInfo = FileChooserWidgetDesktopFolderCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetDesktopFolderCallback cb
        cb'' <- mk_FileChooserWidgetDesktopFolderCallback cb'
        connectSignalFunPtr obj "desktop-folder" cb'' connectMode detail

#endif

-- signal FileChooserWidget::down-folder
-- | The [downFolder](#g:signal:downFolder) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser go to a child of the current folder
-- in the file hierarchy. The subfolder that will be used is displayed in the
-- path bar widget of the file chooser. For example, if the path bar is showing
-- \"\/foo\/bar\/baz\", with bar currently displayed, then this will cause the file
-- chooser to switch to the \"baz\" subfolder.
-- 
-- The default binding for this signal is @Alt + Down@.
type FileChooserWidgetDownFolderCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetDownFolderCallback`@.
noFileChooserWidgetDownFolderCallback :: Maybe FileChooserWidgetDownFolderCallback
noFileChooserWidgetDownFolderCallback :: Maybe (IO ())
noFileChooserWidgetDownFolderCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetDownFolderCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetDownFolderCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetDownFolderCallback :: C_FileChooserWidgetDownFolderCallback -> IO (FunPtr C_FileChooserWidgetDownFolderCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetDownFolder :: MonadIO m => FileChooserWidgetDownFolderCallback -> m (GClosure C_FileChooserWidgetDownFolderCallback)
genClosure_FileChooserWidgetDownFolder :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetDownFolder IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDownFolderCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetDownFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetDownFolderCallback` into a `C_FileChooserWidgetDownFolderCallback`.
wrap_FileChooserWidgetDownFolderCallback ::
    FileChooserWidgetDownFolderCallback ->
    C_FileChooserWidgetDownFolderCallback
wrap_FileChooserWidgetDownFolderCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDownFolderCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [downFolder](#signal:downFolder) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #downFolder callback
-- @
-- 
-- 
onFileChooserWidgetDownFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDownFolderCallback -> m SignalHandlerId
onFileChooserWidgetDownFolder :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetDownFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDownFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetDownFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"down-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [downFolder](#signal:downFolder) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #downFolder callback
-- @
-- 
-- 
afterFileChooserWidgetDownFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDownFolderCallback -> m SignalHandlerId
afterFileChooserWidgetDownFolder :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetDownFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetDownFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetDownFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"down-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetDownFolderSignalInfo
instance SignalInfo FileChooserWidgetDownFolderSignalInfo where
    type HaskellCallbackType FileChooserWidgetDownFolderSignalInfo = FileChooserWidgetDownFolderCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetDownFolderCallback cb
        cb'' <- mk_FileChooserWidgetDownFolderCallback cb'
        connectSignalFunPtr obj "down-folder" cb'' connectMode detail

#endif

-- signal FileChooserWidget::home-folder
-- | The [homeFolder](#g:signal:homeFolder) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser show the user\'s home
-- folder in the file list.
-- 
-- The default binding for this signal is @Alt + Home@.
type FileChooserWidgetHomeFolderCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetHomeFolderCallback`@.
noFileChooserWidgetHomeFolderCallback :: Maybe FileChooserWidgetHomeFolderCallback
noFileChooserWidgetHomeFolderCallback :: Maybe (IO ())
noFileChooserWidgetHomeFolderCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetHomeFolderCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetHomeFolderCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetHomeFolderCallback :: C_FileChooserWidgetHomeFolderCallback -> IO (FunPtr C_FileChooserWidgetHomeFolderCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetHomeFolder :: MonadIO m => FileChooserWidgetHomeFolderCallback -> m (GClosure C_FileChooserWidgetHomeFolderCallback)
genClosure_FileChooserWidgetHomeFolder :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetHomeFolder IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetHomeFolderCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetHomeFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetHomeFolderCallback` into a `C_FileChooserWidgetHomeFolderCallback`.
wrap_FileChooserWidgetHomeFolderCallback ::
    FileChooserWidgetHomeFolderCallback ->
    C_FileChooserWidgetHomeFolderCallback
wrap_FileChooserWidgetHomeFolderCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetHomeFolderCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [homeFolder](#signal:homeFolder) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #homeFolder callback
-- @
-- 
-- 
onFileChooserWidgetHomeFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetHomeFolderCallback -> m SignalHandlerId
onFileChooserWidgetHomeFolder :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetHomeFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetHomeFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetHomeFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"home-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [homeFolder](#signal:homeFolder) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #homeFolder callback
-- @
-- 
-- 
afterFileChooserWidgetHomeFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetHomeFolderCallback -> m SignalHandlerId
afterFileChooserWidgetHomeFolder :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetHomeFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetHomeFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetHomeFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"home-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetHomeFolderSignalInfo
instance SignalInfo FileChooserWidgetHomeFolderSignalInfo where
    type HaskellCallbackType FileChooserWidgetHomeFolderSignalInfo = FileChooserWidgetHomeFolderCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetHomeFolderCallback cb
        cb'' <- mk_FileChooserWidgetHomeFolderCallback cb'
        connectSignalFunPtr obj "home-folder" cb'' connectMode detail

#endif

-- signal FileChooserWidget::location-popup
-- | The [locationPopup](#g:signal:locationPopup) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser show a \"Location\" prompt which
-- the user can use to manually type the name of the file he wishes to select.
-- 
-- The default bindings for this signal are @Control + L@ with a /@path@/ string
-- of \"\" (the empty string).  It is also bound to @\/@ with a /@path@/ string of
-- \"@\/@\" (a slash):  this lets you type @\/@ and immediately type a path name.
-- On Unix systems, this is bound to @~@ (tilde) with a /@path@/ string of \"~\"
-- itself for access to home directories.
type FileChooserWidgetLocationPopupCallback =
    T.Text
    -- ^ /@path@/: a string that gets put in the text entry for the file name
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetLocationPopupCallback`@.
noFileChooserWidgetLocationPopupCallback :: Maybe FileChooserWidgetLocationPopupCallback
noFileChooserWidgetLocationPopupCallback :: Maybe FileChooserWidgetLocationPopupCallback
noFileChooserWidgetLocationPopupCallback = Maybe FileChooserWidgetLocationPopupCallback
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetLocationPopupCallback =
    Ptr () ->                               -- object
    CString ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetLocationPopupCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetLocationPopupCallback :: C_FileChooserWidgetLocationPopupCallback -> IO (FunPtr C_FileChooserWidgetLocationPopupCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetLocationPopup :: MonadIO m => FileChooserWidgetLocationPopupCallback -> m (GClosure C_FileChooserWidgetLocationPopupCallback)
genClosure_FileChooserWidgetLocationPopup :: FileChooserWidgetLocationPopupCallback
-> m (GClosure C_FileChooserWidgetLocationPopupCallback)
genClosure_FileChooserWidgetLocationPopup FileChooserWidgetLocationPopupCallback
cb = IO (GClosure C_FileChooserWidgetLocationPopupCallback)
-> m (GClosure C_FileChooserWidgetLocationPopupCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetLocationPopupCallback)
 -> m (GClosure C_FileChooserWidgetLocationPopupCallback))
-> IO (GClosure C_FileChooserWidgetLocationPopupCallback)
-> m (GClosure C_FileChooserWidgetLocationPopupCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetLocationPopupCallback
cb' = FileChooserWidgetLocationPopupCallback
-> C_FileChooserWidgetLocationPopupCallback
wrap_FileChooserWidgetLocationPopupCallback FileChooserWidgetLocationPopupCallback
cb
    C_FileChooserWidgetLocationPopupCallback
-> IO (FunPtr C_FileChooserWidgetLocationPopupCallback)
mk_FileChooserWidgetLocationPopupCallback C_FileChooserWidgetLocationPopupCallback
cb' IO (FunPtr C_FileChooserWidgetLocationPopupCallback)
-> (FunPtr C_FileChooserWidgetLocationPopupCallback
    -> IO (GClosure C_FileChooserWidgetLocationPopupCallback))
-> IO (GClosure C_FileChooserWidgetLocationPopupCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetLocationPopupCallback
-> IO (GClosure C_FileChooserWidgetLocationPopupCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetLocationPopupCallback` into a `C_FileChooserWidgetLocationPopupCallback`.
wrap_FileChooserWidgetLocationPopupCallback ::
    FileChooserWidgetLocationPopupCallback ->
    C_FileChooserWidgetLocationPopupCallback
wrap_FileChooserWidgetLocationPopupCallback :: FileChooserWidgetLocationPopupCallback
-> C_FileChooserWidgetLocationPopupCallback
wrap_FileChooserWidgetLocationPopupCallback FileChooserWidgetLocationPopupCallback
_cb Ptr ()
_ CString
path Ptr ()
_ = do
    Text
path' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
path
    FileChooserWidgetLocationPopupCallback
_cb  Text
path'


-- | Connect a signal handler for the [locationPopup](#signal:locationPopup) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #locationPopup callback
-- @
-- 
-- 
onFileChooserWidgetLocationPopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupCallback -> m SignalHandlerId
onFileChooserWidgetLocationPopup :: a -> FileChooserWidgetLocationPopupCallback -> m SignalHandlerId
onFileChooserWidgetLocationPopup a
obj FileChooserWidgetLocationPopupCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetLocationPopupCallback
cb' = FileChooserWidgetLocationPopupCallback
-> C_FileChooserWidgetLocationPopupCallback
wrap_FileChooserWidgetLocationPopupCallback FileChooserWidgetLocationPopupCallback
cb
    FunPtr C_FileChooserWidgetLocationPopupCallback
cb'' <- C_FileChooserWidgetLocationPopupCallback
-> IO (FunPtr C_FileChooserWidgetLocationPopupCallback)
mk_FileChooserWidgetLocationPopupCallback C_FileChooserWidgetLocationPopupCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetLocationPopupCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"location-popup" FunPtr C_FileChooserWidgetLocationPopupCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [locationPopup](#signal:locationPopup) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #locationPopup callback
-- @
-- 
-- 
afterFileChooserWidgetLocationPopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupCallback -> m SignalHandlerId
afterFileChooserWidgetLocationPopup :: a -> FileChooserWidgetLocationPopupCallback -> m SignalHandlerId
afterFileChooserWidgetLocationPopup a
obj FileChooserWidgetLocationPopupCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetLocationPopupCallback
cb' = FileChooserWidgetLocationPopupCallback
-> C_FileChooserWidgetLocationPopupCallback
wrap_FileChooserWidgetLocationPopupCallback FileChooserWidgetLocationPopupCallback
cb
    FunPtr C_FileChooserWidgetLocationPopupCallback
cb'' <- C_FileChooserWidgetLocationPopupCallback
-> IO (FunPtr C_FileChooserWidgetLocationPopupCallback)
mk_FileChooserWidgetLocationPopupCallback C_FileChooserWidgetLocationPopupCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetLocationPopupCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"location-popup" FunPtr C_FileChooserWidgetLocationPopupCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetLocationPopupSignalInfo
instance SignalInfo FileChooserWidgetLocationPopupSignalInfo where
    type HaskellCallbackType FileChooserWidgetLocationPopupSignalInfo = FileChooserWidgetLocationPopupCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetLocationPopupCallback cb
        cb'' <- mk_FileChooserWidgetLocationPopupCallback cb'
        connectSignalFunPtr obj "location-popup" cb'' connectMode detail

#endif

-- signal FileChooserWidget::location-popup-on-paste
-- | The [locationPopupOnPaste](#g:signal:locationPopupOnPaste) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser show a \"Location\" prompt when the user
-- pastes into a t'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget'.
-- 
-- The default binding for this signal is @Control + V@.
type FileChooserWidgetLocationPopupOnPasteCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetLocationPopupOnPasteCallback`@.
noFileChooserWidgetLocationPopupOnPasteCallback :: Maybe FileChooserWidgetLocationPopupOnPasteCallback
noFileChooserWidgetLocationPopupOnPasteCallback :: Maybe (IO ())
noFileChooserWidgetLocationPopupOnPasteCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetLocationPopupOnPasteCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetLocationPopupOnPasteCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetLocationPopupOnPasteCallback :: C_FileChooserWidgetLocationPopupOnPasteCallback -> IO (FunPtr C_FileChooserWidgetLocationPopupOnPasteCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetLocationPopupOnPaste :: MonadIO m => FileChooserWidgetLocationPopupOnPasteCallback -> m (GClosure C_FileChooserWidgetLocationPopupOnPasteCallback)
genClosure_FileChooserWidgetLocationPopupOnPaste :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetLocationPopupOnPaste IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationPopupOnPasteCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetLocationPopupOnPasteCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetLocationPopupOnPasteCallback` into a `C_FileChooserWidgetLocationPopupOnPasteCallback`.
wrap_FileChooserWidgetLocationPopupOnPasteCallback ::
    FileChooserWidgetLocationPopupOnPasteCallback ->
    C_FileChooserWidgetLocationPopupOnPasteCallback
wrap_FileChooserWidgetLocationPopupOnPasteCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationPopupOnPasteCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [locationPopupOnPaste](#signal:locationPopupOnPaste) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #locationPopupOnPaste callback
-- @
-- 
-- 
onFileChooserWidgetLocationPopupOnPaste :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupOnPasteCallback -> m SignalHandlerId
onFileChooserWidgetLocationPopupOnPaste :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetLocationPopupOnPaste a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationPopupOnPasteCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetLocationPopupOnPasteCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"location-popup-on-paste" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [locationPopupOnPaste](#signal:locationPopupOnPaste) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #locationPopupOnPaste callback
-- @
-- 
-- 
afterFileChooserWidgetLocationPopupOnPaste :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupOnPasteCallback -> m SignalHandlerId
afterFileChooserWidgetLocationPopupOnPaste :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetLocationPopupOnPaste a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationPopupOnPasteCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetLocationPopupOnPasteCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"location-popup-on-paste" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetLocationPopupOnPasteSignalInfo
instance SignalInfo FileChooserWidgetLocationPopupOnPasteSignalInfo where
    type HaskellCallbackType FileChooserWidgetLocationPopupOnPasteSignalInfo = FileChooserWidgetLocationPopupOnPasteCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetLocationPopupOnPasteCallback cb
        cb'' <- mk_FileChooserWidgetLocationPopupOnPasteCallback cb'
        connectSignalFunPtr obj "location-popup-on-paste" cb'' connectMode detail

#endif

-- signal FileChooserWidget::location-toggle-popup
-- | The [locationTogglePopup](#g:signal:locationTogglePopup) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to toggle the visibility of a \"Location\" prompt which the user
-- can use to manually type the name of the file he wishes to select.
-- 
-- The default binding for this signal is @Control + L@.
type FileChooserWidgetLocationTogglePopupCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetLocationTogglePopupCallback`@.
noFileChooserWidgetLocationTogglePopupCallback :: Maybe FileChooserWidgetLocationTogglePopupCallback
noFileChooserWidgetLocationTogglePopupCallback :: Maybe (IO ())
noFileChooserWidgetLocationTogglePopupCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetLocationTogglePopupCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetLocationTogglePopupCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetLocationTogglePopupCallback :: C_FileChooserWidgetLocationTogglePopupCallback -> IO (FunPtr C_FileChooserWidgetLocationTogglePopupCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetLocationTogglePopup :: MonadIO m => FileChooserWidgetLocationTogglePopupCallback -> m (GClosure C_FileChooserWidgetLocationTogglePopupCallback)
genClosure_FileChooserWidgetLocationTogglePopup :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetLocationTogglePopup IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationTogglePopupCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetLocationTogglePopupCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetLocationTogglePopupCallback` into a `C_FileChooserWidgetLocationTogglePopupCallback`.
wrap_FileChooserWidgetLocationTogglePopupCallback ::
    FileChooserWidgetLocationTogglePopupCallback ->
    C_FileChooserWidgetLocationTogglePopupCallback
wrap_FileChooserWidgetLocationTogglePopupCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationTogglePopupCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [locationTogglePopup](#signal:locationTogglePopup) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #locationTogglePopup callback
-- @
-- 
-- 
onFileChooserWidgetLocationTogglePopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationTogglePopupCallback -> m SignalHandlerId
onFileChooserWidgetLocationTogglePopup :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetLocationTogglePopup a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationTogglePopupCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetLocationTogglePopupCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"location-toggle-popup" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [locationTogglePopup](#signal:locationTogglePopup) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #locationTogglePopup callback
-- @
-- 
-- 
afterFileChooserWidgetLocationTogglePopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationTogglePopupCallback -> m SignalHandlerId
afterFileChooserWidgetLocationTogglePopup :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetLocationTogglePopup a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetLocationTogglePopupCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetLocationTogglePopupCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"location-toggle-popup" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetLocationTogglePopupSignalInfo
instance SignalInfo FileChooserWidgetLocationTogglePopupSignalInfo where
    type HaskellCallbackType FileChooserWidgetLocationTogglePopupSignalInfo = FileChooserWidgetLocationTogglePopupCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetLocationTogglePopupCallback cb
        cb'' <- mk_FileChooserWidgetLocationTogglePopupCallback cb'
        connectSignalFunPtr obj "location-toggle-popup" cb'' connectMode detail

#endif

-- signal FileChooserWidget::places-shortcut
-- | The [placesShortcut](#g:signal:placesShortcut) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to move the focus to the places sidebar.
-- 
-- The default binding for this signal is @Alt + P@.
type FileChooserWidgetPlacesShortcutCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetPlacesShortcutCallback`@.
noFileChooserWidgetPlacesShortcutCallback :: Maybe FileChooserWidgetPlacesShortcutCallback
noFileChooserWidgetPlacesShortcutCallback :: Maybe (IO ())
noFileChooserWidgetPlacesShortcutCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetPlacesShortcutCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetPlacesShortcutCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetPlacesShortcutCallback :: C_FileChooserWidgetPlacesShortcutCallback -> IO (FunPtr C_FileChooserWidgetPlacesShortcutCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetPlacesShortcut :: MonadIO m => FileChooserWidgetPlacesShortcutCallback -> m (GClosure C_FileChooserWidgetPlacesShortcutCallback)
genClosure_FileChooserWidgetPlacesShortcut :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetPlacesShortcut IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetPlacesShortcutCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetPlacesShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetPlacesShortcutCallback` into a `C_FileChooserWidgetPlacesShortcutCallback`.
wrap_FileChooserWidgetPlacesShortcutCallback ::
    FileChooserWidgetPlacesShortcutCallback ->
    C_FileChooserWidgetPlacesShortcutCallback
wrap_FileChooserWidgetPlacesShortcutCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetPlacesShortcutCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [placesShortcut](#signal:placesShortcut) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #placesShortcut callback
-- @
-- 
-- 
onFileChooserWidgetPlacesShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetPlacesShortcutCallback -> m SignalHandlerId
onFileChooserWidgetPlacesShortcut :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetPlacesShortcut a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetPlacesShortcutCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetPlacesShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"places-shortcut" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [placesShortcut](#signal:placesShortcut) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #placesShortcut callback
-- @
-- 
-- 
afterFileChooserWidgetPlacesShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetPlacesShortcutCallback -> m SignalHandlerId
afterFileChooserWidgetPlacesShortcut :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetPlacesShortcut a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetPlacesShortcutCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetPlacesShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"places-shortcut" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetPlacesShortcutSignalInfo
instance SignalInfo FileChooserWidgetPlacesShortcutSignalInfo where
    type HaskellCallbackType FileChooserWidgetPlacesShortcutSignalInfo = FileChooserWidgetPlacesShortcutCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetPlacesShortcutCallback cb
        cb'' <- mk_FileChooserWidgetPlacesShortcutCallback cb'
        connectSignalFunPtr obj "places-shortcut" cb'' connectMode detail

#endif

-- signal FileChooserWidget::quick-bookmark
-- | The [quickBookmark](#g:signal:quickBookmark) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser switch to the bookmark specified
-- in the /@bookmarkIndex@/ parameter. For example, if you have three bookmarks,
-- you can pass 0, 1, 2 to this signal to switch to each of them, respectively.
-- 
-- The default binding for this signal is @Alt + 1@, @Alt + 2@,
-- etc. until @Alt + 0@.  Note that in the default binding, that
-- @Alt + 1@ is actually defined to switch to the bookmark at index
-- 0, and so on successively; @Alt + 0@ is defined to switch to the
-- bookmark at index 10.
type FileChooserWidgetQuickBookmarkCallback =
    Int32
    -- ^ /@bookmarkIndex@/: the number of the bookmark to switch to
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetQuickBookmarkCallback`@.
noFileChooserWidgetQuickBookmarkCallback :: Maybe FileChooserWidgetQuickBookmarkCallback
noFileChooserWidgetQuickBookmarkCallback :: Maybe FileChooserWidgetQuickBookmarkCallback
noFileChooserWidgetQuickBookmarkCallback = Maybe FileChooserWidgetQuickBookmarkCallback
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetQuickBookmarkCallback =
    Ptr () ->                               -- object
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetQuickBookmarkCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetQuickBookmarkCallback :: C_FileChooserWidgetQuickBookmarkCallback -> IO (FunPtr C_FileChooserWidgetQuickBookmarkCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetQuickBookmark :: MonadIO m => FileChooserWidgetQuickBookmarkCallback -> m (GClosure C_FileChooserWidgetQuickBookmarkCallback)
genClosure_FileChooserWidgetQuickBookmark :: FileChooserWidgetQuickBookmarkCallback
-> m (GClosure C_FileChooserWidgetQuickBookmarkCallback)
genClosure_FileChooserWidgetQuickBookmark FileChooserWidgetQuickBookmarkCallback
cb = IO (GClosure C_FileChooserWidgetQuickBookmarkCallback)
-> m (GClosure C_FileChooserWidgetQuickBookmarkCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetQuickBookmarkCallback)
 -> m (GClosure C_FileChooserWidgetQuickBookmarkCallback))
-> IO (GClosure C_FileChooserWidgetQuickBookmarkCallback)
-> m (GClosure C_FileChooserWidgetQuickBookmarkCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetQuickBookmarkCallback
cb' = FileChooserWidgetQuickBookmarkCallback
-> C_FileChooserWidgetQuickBookmarkCallback
wrap_FileChooserWidgetQuickBookmarkCallback FileChooserWidgetQuickBookmarkCallback
cb
    C_FileChooserWidgetQuickBookmarkCallback
-> IO (FunPtr C_FileChooserWidgetQuickBookmarkCallback)
mk_FileChooserWidgetQuickBookmarkCallback C_FileChooserWidgetQuickBookmarkCallback
cb' IO (FunPtr C_FileChooserWidgetQuickBookmarkCallback)
-> (FunPtr C_FileChooserWidgetQuickBookmarkCallback
    -> IO (GClosure C_FileChooserWidgetQuickBookmarkCallback))
-> IO (GClosure C_FileChooserWidgetQuickBookmarkCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetQuickBookmarkCallback
-> IO (GClosure C_FileChooserWidgetQuickBookmarkCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetQuickBookmarkCallback` into a `C_FileChooserWidgetQuickBookmarkCallback`.
wrap_FileChooserWidgetQuickBookmarkCallback ::
    FileChooserWidgetQuickBookmarkCallback ->
    C_FileChooserWidgetQuickBookmarkCallback
wrap_FileChooserWidgetQuickBookmarkCallback :: FileChooserWidgetQuickBookmarkCallback
-> C_FileChooserWidgetQuickBookmarkCallback
wrap_FileChooserWidgetQuickBookmarkCallback FileChooserWidgetQuickBookmarkCallback
_cb Ptr ()
_ Int32
bookmarkIndex Ptr ()
_ = do
    FileChooserWidgetQuickBookmarkCallback
_cb  Int32
bookmarkIndex


-- | Connect a signal handler for the [quickBookmark](#signal:quickBookmark) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #quickBookmark callback
-- @
-- 
-- 
onFileChooserWidgetQuickBookmark :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetQuickBookmarkCallback -> m SignalHandlerId
onFileChooserWidgetQuickBookmark :: a -> FileChooserWidgetQuickBookmarkCallback -> m SignalHandlerId
onFileChooserWidgetQuickBookmark a
obj FileChooserWidgetQuickBookmarkCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetQuickBookmarkCallback
cb' = FileChooserWidgetQuickBookmarkCallback
-> C_FileChooserWidgetQuickBookmarkCallback
wrap_FileChooserWidgetQuickBookmarkCallback FileChooserWidgetQuickBookmarkCallback
cb
    FunPtr C_FileChooserWidgetQuickBookmarkCallback
cb'' <- C_FileChooserWidgetQuickBookmarkCallback
-> IO (FunPtr C_FileChooserWidgetQuickBookmarkCallback)
mk_FileChooserWidgetQuickBookmarkCallback C_FileChooserWidgetQuickBookmarkCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetQuickBookmarkCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"quick-bookmark" FunPtr C_FileChooserWidgetQuickBookmarkCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [quickBookmark](#signal:quickBookmark) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #quickBookmark callback
-- @
-- 
-- 
afterFileChooserWidgetQuickBookmark :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetQuickBookmarkCallback -> m SignalHandlerId
afterFileChooserWidgetQuickBookmark :: a -> FileChooserWidgetQuickBookmarkCallback -> m SignalHandlerId
afterFileChooserWidgetQuickBookmark a
obj FileChooserWidgetQuickBookmarkCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetQuickBookmarkCallback
cb' = FileChooserWidgetQuickBookmarkCallback
-> C_FileChooserWidgetQuickBookmarkCallback
wrap_FileChooserWidgetQuickBookmarkCallback FileChooserWidgetQuickBookmarkCallback
cb
    FunPtr C_FileChooserWidgetQuickBookmarkCallback
cb'' <- C_FileChooserWidgetQuickBookmarkCallback
-> IO (FunPtr C_FileChooserWidgetQuickBookmarkCallback)
mk_FileChooserWidgetQuickBookmarkCallback C_FileChooserWidgetQuickBookmarkCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetQuickBookmarkCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"quick-bookmark" FunPtr C_FileChooserWidgetQuickBookmarkCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetQuickBookmarkSignalInfo
instance SignalInfo FileChooserWidgetQuickBookmarkSignalInfo where
    type HaskellCallbackType FileChooserWidgetQuickBookmarkSignalInfo = FileChooserWidgetQuickBookmarkCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetQuickBookmarkCallback cb
        cb'' <- mk_FileChooserWidgetQuickBookmarkCallback cb'
        connectSignalFunPtr obj "quick-bookmark" cb'' connectMode detail

#endif

-- signal FileChooserWidget::recent-shortcut
-- | The [recentShortcut](#g:signal:recentShortcut) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser show the Recent location.
-- 
-- The default binding for this signal is @Alt + R@.
type FileChooserWidgetRecentShortcutCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetRecentShortcutCallback`@.
noFileChooserWidgetRecentShortcutCallback :: Maybe FileChooserWidgetRecentShortcutCallback
noFileChooserWidgetRecentShortcutCallback :: Maybe (IO ())
noFileChooserWidgetRecentShortcutCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetRecentShortcutCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetRecentShortcutCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetRecentShortcutCallback :: C_FileChooserWidgetRecentShortcutCallback -> IO (FunPtr C_FileChooserWidgetRecentShortcutCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetRecentShortcut :: MonadIO m => FileChooserWidgetRecentShortcutCallback -> m (GClosure C_FileChooserWidgetRecentShortcutCallback)
genClosure_FileChooserWidgetRecentShortcut :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetRecentShortcut IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetRecentShortcutCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetRecentShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetRecentShortcutCallback` into a `C_FileChooserWidgetRecentShortcutCallback`.
wrap_FileChooserWidgetRecentShortcutCallback ::
    FileChooserWidgetRecentShortcutCallback ->
    C_FileChooserWidgetRecentShortcutCallback
wrap_FileChooserWidgetRecentShortcutCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetRecentShortcutCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [recentShortcut](#signal:recentShortcut) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #recentShortcut callback
-- @
-- 
-- 
onFileChooserWidgetRecentShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetRecentShortcutCallback -> m SignalHandlerId
onFileChooserWidgetRecentShortcut :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetRecentShortcut a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetRecentShortcutCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetRecentShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"recent-shortcut" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [recentShortcut](#signal:recentShortcut) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #recentShortcut callback
-- @
-- 
-- 
afterFileChooserWidgetRecentShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetRecentShortcutCallback -> m SignalHandlerId
afterFileChooserWidgetRecentShortcut :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetRecentShortcut a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetRecentShortcutCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetRecentShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"recent-shortcut" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetRecentShortcutSignalInfo
instance SignalInfo FileChooserWidgetRecentShortcutSignalInfo where
    type HaskellCallbackType FileChooserWidgetRecentShortcutSignalInfo = FileChooserWidgetRecentShortcutCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetRecentShortcutCallback cb
        cb'' <- mk_FileChooserWidgetRecentShortcutCallback cb'
        connectSignalFunPtr obj "recent-shortcut" cb'' connectMode detail

#endif

-- signal FileChooserWidget::search-shortcut
-- | The [searchShortcut](#g:signal:searchShortcut) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser show the search entry.
-- 
-- The default binding for this signal is @Alt + S@.
type FileChooserWidgetSearchShortcutCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetSearchShortcutCallback`@.
noFileChooserWidgetSearchShortcutCallback :: Maybe FileChooserWidgetSearchShortcutCallback
noFileChooserWidgetSearchShortcutCallback :: Maybe (IO ())
noFileChooserWidgetSearchShortcutCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetSearchShortcutCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetSearchShortcutCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetSearchShortcutCallback :: C_FileChooserWidgetSearchShortcutCallback -> IO (FunPtr C_FileChooserWidgetSearchShortcutCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetSearchShortcut :: MonadIO m => FileChooserWidgetSearchShortcutCallback -> m (GClosure C_FileChooserWidgetSearchShortcutCallback)
genClosure_FileChooserWidgetSearchShortcut :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetSearchShortcut IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetSearchShortcutCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetSearchShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetSearchShortcutCallback` into a `C_FileChooserWidgetSearchShortcutCallback`.
wrap_FileChooserWidgetSearchShortcutCallback ::
    FileChooserWidgetSearchShortcutCallback ->
    C_FileChooserWidgetSearchShortcutCallback
wrap_FileChooserWidgetSearchShortcutCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetSearchShortcutCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [searchShortcut](#signal:searchShortcut) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #searchShortcut callback
-- @
-- 
-- 
onFileChooserWidgetSearchShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetSearchShortcutCallback -> m SignalHandlerId
onFileChooserWidgetSearchShortcut :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetSearchShortcut a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetSearchShortcutCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetSearchShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"search-shortcut" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [searchShortcut](#signal:searchShortcut) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #searchShortcut callback
-- @
-- 
-- 
afterFileChooserWidgetSearchShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetSearchShortcutCallback -> m SignalHandlerId
afterFileChooserWidgetSearchShortcut :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetSearchShortcut a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetSearchShortcutCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetSearchShortcutCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"search-shortcut" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetSearchShortcutSignalInfo
instance SignalInfo FileChooserWidgetSearchShortcutSignalInfo where
    type HaskellCallbackType FileChooserWidgetSearchShortcutSignalInfo = FileChooserWidgetSearchShortcutCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetSearchShortcutCallback cb
        cb'' <- mk_FileChooserWidgetSearchShortcutCallback cb'
        connectSignalFunPtr obj "search-shortcut" cb'' connectMode detail

#endif

-- signal FileChooserWidget::show-hidden
-- | The [showHidden](#g:signal:showHidden) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser display hidden files.
-- 
-- The default binding for this signal is @Control + H@.
type FileChooserWidgetShowHiddenCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetShowHiddenCallback`@.
noFileChooserWidgetShowHiddenCallback :: Maybe FileChooserWidgetShowHiddenCallback
noFileChooserWidgetShowHiddenCallback :: Maybe (IO ())
noFileChooserWidgetShowHiddenCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetShowHiddenCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetShowHiddenCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetShowHiddenCallback :: C_FileChooserWidgetShowHiddenCallback -> IO (FunPtr C_FileChooserWidgetShowHiddenCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetShowHidden :: MonadIO m => FileChooserWidgetShowHiddenCallback -> m (GClosure C_FileChooserWidgetShowHiddenCallback)
genClosure_FileChooserWidgetShowHidden :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetShowHidden IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetShowHiddenCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetShowHiddenCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetShowHiddenCallback` into a `C_FileChooserWidgetShowHiddenCallback`.
wrap_FileChooserWidgetShowHiddenCallback ::
    FileChooserWidgetShowHiddenCallback ->
    C_FileChooserWidgetShowHiddenCallback
wrap_FileChooserWidgetShowHiddenCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetShowHiddenCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [showHidden](#signal:showHidden) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #showHidden callback
-- @
-- 
-- 
onFileChooserWidgetShowHidden :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetShowHiddenCallback -> m SignalHandlerId
onFileChooserWidgetShowHidden :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetShowHidden a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetShowHiddenCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetShowHiddenCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"show-hidden" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [showHidden](#signal:showHidden) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #showHidden callback
-- @
-- 
-- 
afterFileChooserWidgetShowHidden :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetShowHiddenCallback -> m SignalHandlerId
afterFileChooserWidgetShowHidden :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetShowHidden a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetShowHiddenCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetShowHiddenCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"show-hidden" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetShowHiddenSignalInfo
instance SignalInfo FileChooserWidgetShowHiddenSignalInfo where
    type HaskellCallbackType FileChooserWidgetShowHiddenSignalInfo = FileChooserWidgetShowHiddenCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetShowHiddenCallback cb
        cb'' <- mk_FileChooserWidgetShowHiddenCallback cb'
        connectSignalFunPtr obj "show-hidden" cb'' connectMode detail

#endif

-- signal FileChooserWidget::up-folder
-- | The [upFolder](#g:signal:upFolder) signal is a [keybinding signal][GtkBindingSignal]
-- which gets emitted when the user asks for it.
-- 
-- This is used to make the file chooser go to the parent of the current folder
-- in the file hierarchy.
-- 
-- The default binding for this signal is @Alt + Up@.
type FileChooserWidgetUpFolderCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetUpFolderCallback`@.
noFileChooserWidgetUpFolderCallback :: Maybe FileChooserWidgetUpFolderCallback
noFileChooserWidgetUpFolderCallback :: Maybe (IO ())
noFileChooserWidgetUpFolderCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_FileChooserWidgetUpFolderCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetUpFolderCallback`.
foreign import ccall "wrapper"
    mk_FileChooserWidgetUpFolderCallback :: C_FileChooserWidgetUpFolderCallback -> IO (FunPtr C_FileChooserWidgetUpFolderCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_FileChooserWidgetUpFolder :: MonadIO m => FileChooserWidgetUpFolderCallback -> m (GClosure C_FileChooserWidgetUpFolderCallback)
genClosure_FileChooserWidgetUpFolder :: IO () -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
genClosure_FileChooserWidgetUpFolder IO ()
cb = IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
 -> m (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
-> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetUpFolderCallback IO ()
cb
    C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetUpFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb' IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
-> (FunPtr C_FileChooserWidgetDesktopFolderCallback
    -> IO (GClosure C_FileChooserWidgetDesktopFolderCallback))
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FileChooserWidgetDesktopFolderCallback
-> IO (GClosure C_FileChooserWidgetDesktopFolderCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `FileChooserWidgetUpFolderCallback` into a `C_FileChooserWidgetUpFolderCallback`.
wrap_FileChooserWidgetUpFolderCallback ::
    FileChooserWidgetUpFolderCallback ->
    C_FileChooserWidgetUpFolderCallback
wrap_FileChooserWidgetUpFolderCallback :: IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetUpFolderCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
    IO ()
_cb 


-- | Connect a signal handler for the [upFolder](#signal:upFolder) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' fileChooserWidget #upFolder callback
-- @
-- 
-- 
onFileChooserWidgetUpFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetUpFolderCallback -> m SignalHandlerId
onFileChooserWidgetUpFolder :: a -> IO () -> m SignalHandlerId
onFileChooserWidgetUpFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetUpFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetUpFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"up-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [upFolder](#signal:upFolder) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' fileChooserWidget #upFolder callback
-- @
-- 
-- 
afterFileChooserWidgetUpFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetUpFolderCallback -> m SignalHandlerId
afterFileChooserWidgetUpFolder :: a -> IO () -> m SignalHandlerId
afterFileChooserWidgetUpFolder a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_FileChooserWidgetDesktopFolderCallback
cb' = IO () -> C_FileChooserWidgetDesktopFolderCallback
wrap_FileChooserWidgetUpFolderCallback IO ()
cb
    FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' <- C_FileChooserWidgetDesktopFolderCallback
-> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
mk_FileChooserWidgetUpFolderCallback C_FileChooserWidgetDesktopFolderCallback
cb'
    a
-> Text
-> FunPtr C_FileChooserWidgetDesktopFolderCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"up-folder" FunPtr C_FileChooserWidgetDesktopFolderCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetUpFolderSignalInfo
instance SignalInfo FileChooserWidgetUpFolderSignalInfo where
    type HaskellCallbackType FileChooserWidgetUpFolderSignalInfo = FileChooserWidgetUpFolderCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_FileChooserWidgetUpFolderCallback cb
        cb'' <- mk_FileChooserWidgetUpFolderCallback cb'
        connectSignalFunPtr obj "up-folder" cb'' connectMode detail

#endif

-- VVV Prop "search-mode"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@search-mode@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' fileChooserWidget #searchMode
-- @
getFileChooserWidgetSearchMode :: (MonadIO m, IsFileChooserWidget o) => o -> m Bool
getFileChooserWidgetSearchMode :: o -> m Bool
getFileChooserWidgetSearchMode o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"search-mode"

-- | Set the value of the “@search-mode@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' fileChooserWidget [ #searchMode 'Data.GI.Base.Attributes.:=' value ]
-- @
setFileChooserWidgetSearchMode :: (MonadIO m, IsFileChooserWidget o) => o -> Bool -> m ()
setFileChooserWidgetSearchMode :: o -> Bool -> m ()
setFileChooserWidgetSearchMode o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"search-mode" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@search-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructFileChooserWidgetSearchMode :: (IsFileChooserWidget o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructFileChooserWidgetSearchMode :: Bool -> m (GValueConstruct o)
constructFileChooserWidgetSearchMode Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"search-mode" Bool
val

#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetSearchModePropertyInfo
instance AttrInfo FileChooserWidgetSearchModePropertyInfo where
    type AttrAllowedOps FileChooserWidgetSearchModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint FileChooserWidgetSearchModePropertyInfo = IsFileChooserWidget
    type AttrSetTypeConstraint FileChooserWidgetSearchModePropertyInfo = (~) Bool
    type AttrTransferTypeConstraint FileChooserWidgetSearchModePropertyInfo = (~) Bool
    type AttrTransferType FileChooserWidgetSearchModePropertyInfo = Bool
    type AttrGetType FileChooserWidgetSearchModePropertyInfo = Bool
    type AttrLabel FileChooserWidgetSearchModePropertyInfo = "search-mode"
    type AttrOrigin FileChooserWidgetSearchModePropertyInfo = FileChooserWidget
    attrGet = getFileChooserWidgetSearchMode
    attrSet = setFileChooserWidgetSearchMode
    attrTransfer _ v = do
        return v
    attrConstruct = constructFileChooserWidgetSearchMode
    attrClear = undefined
#endif

-- VVV Prop "subtitle"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@subtitle@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' fileChooserWidget #subtitle
-- @
getFileChooserWidgetSubtitle :: (MonadIO m, IsFileChooserWidget o) => o -> m (Maybe T.Text)
getFileChooserWidgetSubtitle :: o -> m (Maybe Text)
getFileChooserWidgetSubtitle o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"subtitle"

#if defined(ENABLE_OVERLOADING)
data FileChooserWidgetSubtitlePropertyInfo
instance AttrInfo FileChooserWidgetSubtitlePropertyInfo where
    type AttrAllowedOps FileChooserWidgetSubtitlePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint FileChooserWidgetSubtitlePropertyInfo = IsFileChooserWidget
    type AttrSetTypeConstraint FileChooserWidgetSubtitlePropertyInfo = (~) ()
    type AttrTransferTypeConstraint FileChooserWidgetSubtitlePropertyInfo = (~) ()
    type AttrTransferType FileChooserWidgetSubtitlePropertyInfo = ()
    type AttrGetType FileChooserWidgetSubtitlePropertyInfo = (Maybe T.Text)
    type AttrLabel FileChooserWidgetSubtitlePropertyInfo = "subtitle"
    type AttrOrigin FileChooserWidgetSubtitlePropertyInfo = FileChooserWidget
    attrGet = getFileChooserWidgetSubtitle
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FileChooserWidget
type instance O.AttributeList FileChooserWidget = FileChooserWidgetAttributeList
type FileChooserWidgetAttributeList = ('[ '("action", Gtk.FileChooser.FileChooserActionPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("createFolders", Gtk.FileChooser.FileChooserCreateFoldersPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("filter", Gtk.FileChooser.FileChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overflow", Gtk.Widget.WidgetOverflowPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("searchMode", FileChooserWidgetSearchModePropertyInfo), '("selectMultiple", Gtk.FileChooser.FileChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("subtitle", FileChooserWidgetSubtitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
fileChooserWidgetSearchMode :: AttrLabelProxy "searchMode"
fileChooserWidgetSearchMode = AttrLabelProxy

fileChooserWidgetSubtitle :: AttrLabelProxy "subtitle"
fileChooserWidgetSubtitle = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList FileChooserWidget = FileChooserWidgetSignalList
type FileChooserWidgetSignalList = ('[ '("currentFolderChanged", Gtk.FileChooser.FileChooserCurrentFolderChangedSignalInfo), '("desktopFolder", FileChooserWidgetDesktopFolderSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("downFolder", FileChooserWidgetDownFolderSignalInfo), '("fileActivated", Gtk.FileChooser.FileChooserFileActivatedSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("homeFolder", FileChooserWidgetHomeFolderSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("locationPopup", FileChooserWidgetLocationPopupSignalInfo), '("locationPopupOnPaste", FileChooserWidgetLocationPopupOnPasteSignalInfo), '("locationTogglePopup", FileChooserWidgetLocationTogglePopupSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("placesShortcut", FileChooserWidgetPlacesShortcutSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("quickBookmark", FileChooserWidgetQuickBookmarkSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("recentShortcut", FileChooserWidgetRecentShortcutSignalInfo), '("searchShortcut", FileChooserWidgetSearchShortcutSignalInfo), '("selectionChanged", Gtk.FileChooser.FileChooserSelectionChangedSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHidden", FileChooserWidgetShowHiddenSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("upFolder", FileChooserWidgetUpFolderSignalInfo)] :: [(Symbol, *)])

#endif

-- method FileChooserWidget::new
-- method type : Constructor
-- Args: [ Arg
--           { argCName = "action"
--           , argType =
--               TInterface Name { namespace = "Gtk" , name = "FileChooserAction" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "Open or save mode for the widget"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "Gtk" , name = "FileChooserWidget" })
-- throws : False
-- Skip return : False

foreign import ccall "gtk_file_chooser_widget_new" gtk_file_chooser_widget_new :: 
    CUInt ->                                -- action : TInterface (Name {namespace = "Gtk", name = "FileChooserAction"})
    IO (Ptr FileChooserWidget)

-- | Creates a new t'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget'. This is a file chooser widget that can
-- be embedded in custom windows, and it is the same widget that is used by
-- t'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog'.
fileChooserWidgetNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    Gtk.Enums.FileChooserAction
    -- ^ /@action@/: Open or save mode for the widget
    -> m FileChooserWidget
    -- ^ __Returns:__ a new t'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget'
fileChooserWidgetNew :: FileChooserAction -> m FileChooserWidget
fileChooserWidgetNew FileChooserAction
action = IO FileChooserWidget -> m FileChooserWidget
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileChooserWidget -> m FileChooserWidget)
-> IO FileChooserWidget -> m FileChooserWidget
forall a b. (a -> b) -> a -> b
$ do
    let action' :: CUInt
action' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (FileChooserAction -> Int) -> FileChooserAction -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FileChooserAction -> Int
forall a. Enum a => a -> Int
fromEnum) FileChooserAction
action
    Ptr FileChooserWidget
result <- CUInt -> IO (Ptr FileChooserWidget)
gtk_file_chooser_widget_new CUInt
action'
    Text -> Ptr FileChooserWidget -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileChooserWidgetNew" Ptr FileChooserWidget
result
    FileChooserWidget
result' <- ((ManagedPtr FileChooserWidget -> FileChooserWidget)
-> Ptr FileChooserWidget -> IO FileChooserWidget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr FileChooserWidget -> FileChooserWidget
FileChooserWidget) Ptr FileChooserWidget
result
    FileChooserWidget -> IO FileChooserWidget
forall (m :: * -> *) a. Monad m => a -> m a
return FileChooserWidget
result'

#if defined(ENABLE_OVERLOADING)
#endif