{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)

'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' is a widget that displays a list of frequently-used places in the
file system:  the user’s home directory, the user’s bookmarks, and volumes and drives.
This widget is used as a sidebar in 'GI.Gtk.Interfaces.FileChooser.FileChooser' and may be used by file managers
and similar programs.

The places sidebar displays drives and volumes, and will automatically mount
or unmount them when the user selects them.

Applications can hook to various signals in the places sidebar to customize
its behavior.  For example, they can add extra commands to the context menu
of the sidebar.

While bookmarks are completely in control of the user, the places sidebar also
allows individual applications to provide extra shortcut folders that are unique
to each application.  For example, a Paint program may want to add a shortcut
for a Clipart folder.  You can do this with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarAddShortcut'.

To make use of the places sidebar, an application at least needs to connect
to the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal.  This is emitted when the
user selects in the sidebar a location to open.  The application should also
call 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetLocation' when it changes the currently-viewed
location.

= CSS nodes

GtkPlacesSidebar uses a single CSS node with name placesidebar and style
class .sidebar.

Among the children of the places sidebar, the following style classes can
be used:

* .sidebar-new-bookmark-row for the \'Add new bookmark\' row
* .sidebar-placeholder-row for a row that is a placeholder
* .has-open-popup when a popup is open for a row

-}

module GI.Gtk.Objects.PlacesSidebar
    ( 

-- * Exported types
    PlacesSidebar(..)                       ,
    IsPlacesSidebar                         ,
    toPlacesSidebar                         ,
    noPlacesSidebar                         ,


 -- * Methods
-- ** addShortcut #method:addShortcut#
    PlacesSidebarAddShortcutMethodInfo      ,
    placesSidebarAddShortcut                ,


-- ** getLocalOnly #method:getLocalOnly#
    PlacesSidebarGetLocalOnlyMethodInfo     ,
    placesSidebarGetLocalOnly               ,


-- ** getLocation #method:getLocation#
    PlacesSidebarGetLocationMethodInfo      ,
    placesSidebarGetLocation                ,


-- ** getNthBookmark #method:getNthBookmark#
    PlacesSidebarGetNthBookmarkMethodInfo   ,
    placesSidebarGetNthBookmark             ,


-- ** getOpenFlags #method:getOpenFlags#
    PlacesSidebarGetOpenFlagsMethodInfo     ,
    placesSidebarGetOpenFlags               ,


-- ** getShowConnectToServer #method:getShowConnectToServer#
    PlacesSidebarGetShowConnectToServerMethodInfo,
    placesSidebarGetShowConnectToServer     ,


-- ** getShowDesktop #method:getShowDesktop#
    PlacesSidebarGetShowDesktopMethodInfo   ,
    placesSidebarGetShowDesktop             ,


-- ** getShowEnterLocation #method:getShowEnterLocation#
    PlacesSidebarGetShowEnterLocationMethodInfo,
    placesSidebarGetShowEnterLocation       ,


-- ** getShowOtherLocations #method:getShowOtherLocations#
    PlacesSidebarGetShowOtherLocationsMethodInfo,
    placesSidebarGetShowOtherLocations      ,


-- ** getShowRecent #method:getShowRecent#
    PlacesSidebarGetShowRecentMethodInfo    ,
    placesSidebarGetShowRecent              ,


-- ** getShowTrash #method:getShowTrash#
    PlacesSidebarGetShowTrashMethodInfo     ,
    placesSidebarGetShowTrash               ,


-- ** listShortcuts #method:listShortcuts#
    PlacesSidebarListShortcutsMethodInfo    ,
    placesSidebarListShortcuts              ,


-- ** new #method:new#
    placesSidebarNew                        ,


-- ** removeShortcut #method:removeShortcut#
    PlacesSidebarRemoveShortcutMethodInfo   ,
    placesSidebarRemoveShortcut             ,


-- ** setDropTargetsVisible #method:setDropTargetsVisible#
    PlacesSidebarSetDropTargetsVisibleMethodInfo,
    placesSidebarSetDropTargetsVisible      ,


-- ** setLocalOnly #method:setLocalOnly#
    PlacesSidebarSetLocalOnlyMethodInfo     ,
    placesSidebarSetLocalOnly               ,


-- ** setLocation #method:setLocation#
    PlacesSidebarSetLocationMethodInfo      ,
    placesSidebarSetLocation                ,


-- ** setOpenFlags #method:setOpenFlags#
    PlacesSidebarSetOpenFlagsMethodInfo     ,
    placesSidebarSetOpenFlags               ,


-- ** setShowConnectToServer #method:setShowConnectToServer#
    PlacesSidebarSetShowConnectToServerMethodInfo,
    placesSidebarSetShowConnectToServer     ,


-- ** setShowDesktop #method:setShowDesktop#
    PlacesSidebarSetShowDesktopMethodInfo   ,
    placesSidebarSetShowDesktop             ,


-- ** setShowEnterLocation #method:setShowEnterLocation#
    PlacesSidebarSetShowEnterLocationMethodInfo,
    placesSidebarSetShowEnterLocation       ,


-- ** setShowOtherLocations #method:setShowOtherLocations#
    PlacesSidebarSetShowOtherLocationsMethodInfo,
    placesSidebarSetShowOtherLocations      ,


-- ** setShowRecent #method:setShowRecent#
    PlacesSidebarSetShowRecentMethodInfo    ,
    placesSidebarSetShowRecent              ,


-- ** setShowTrash #method:setShowTrash#
    PlacesSidebarSetShowTrashMethodInfo     ,
    placesSidebarSetShowTrash               ,




 -- * Properties
-- ** localOnly #attr:localOnly#
    PlacesSidebarLocalOnlyPropertyInfo      ,
    constructPlacesSidebarLocalOnly         ,
    getPlacesSidebarLocalOnly               ,
    placesSidebarLocalOnly                  ,
    setPlacesSidebarLocalOnly               ,


-- ** location #attr:location#
    PlacesSidebarLocationPropertyInfo       ,
    clearPlacesSidebarLocation              ,
    constructPlacesSidebarLocation          ,
    getPlacesSidebarLocation                ,
    placesSidebarLocation                   ,
    setPlacesSidebarLocation                ,


-- ** openFlags #attr:openFlags#
    PlacesSidebarOpenFlagsPropertyInfo      ,
    constructPlacesSidebarOpenFlags         ,
    getPlacesSidebarOpenFlags               ,
    placesSidebarOpenFlags                  ,
    setPlacesSidebarOpenFlags               ,


-- ** populateAll #attr:populateAll#
    PlacesSidebarPopulateAllPropertyInfo    ,
    constructPlacesSidebarPopulateAll       ,
    getPlacesSidebarPopulateAll             ,
    placesSidebarPopulateAll                ,
    setPlacesSidebarPopulateAll             ,


-- ** showConnectToServer #attr:showConnectToServer#
    PlacesSidebarShowConnectToServerPropertyInfo,
    constructPlacesSidebarShowConnectToServer,
    getPlacesSidebarShowConnectToServer     ,
    placesSidebarShowConnectToServer        ,
    setPlacesSidebarShowConnectToServer     ,


-- ** showDesktop #attr:showDesktop#
    PlacesSidebarShowDesktopPropertyInfo    ,
    constructPlacesSidebarShowDesktop       ,
    getPlacesSidebarShowDesktop             ,
    placesSidebarShowDesktop                ,
    setPlacesSidebarShowDesktop             ,


-- ** showEnterLocation #attr:showEnterLocation#
    PlacesSidebarShowEnterLocationPropertyInfo,
    constructPlacesSidebarShowEnterLocation ,
    getPlacesSidebarShowEnterLocation       ,
    placesSidebarShowEnterLocation          ,
    setPlacesSidebarShowEnterLocation       ,


-- ** showOtherLocations #attr:showOtherLocations#
    PlacesSidebarShowOtherLocationsPropertyInfo,
    constructPlacesSidebarShowOtherLocations,
    getPlacesSidebarShowOtherLocations      ,
    placesSidebarShowOtherLocations         ,
    setPlacesSidebarShowOtherLocations      ,


-- ** showRecent #attr:showRecent#
    PlacesSidebarShowRecentPropertyInfo     ,
    constructPlacesSidebarShowRecent        ,
    getPlacesSidebarShowRecent              ,
    placesSidebarShowRecent                 ,
    setPlacesSidebarShowRecent              ,


-- ** showTrash #attr:showTrash#
    PlacesSidebarShowTrashPropertyInfo      ,
    constructPlacesSidebarShowTrash         ,
    getPlacesSidebarShowTrash               ,
    placesSidebarShowTrash                  ,
    setPlacesSidebarShowTrash               ,




 -- * Signals
-- ** dragActionAsk #signal:dragActionAsk#
    C_PlacesSidebarDragActionAskCallback    ,
    PlacesSidebarDragActionAskCallback      ,
    PlacesSidebarDragActionAskSignalInfo    ,
    afterPlacesSidebarDragActionAsk         ,
    genClosure_PlacesSidebarDragActionAsk   ,
    mk_PlacesSidebarDragActionAskCallback   ,
    noPlacesSidebarDragActionAskCallback    ,
    onPlacesSidebarDragActionAsk            ,
    wrap_PlacesSidebarDragActionAskCallback ,


-- ** dragActionRequested #signal:dragActionRequested#
    C_PlacesSidebarDragActionRequestedCallback,
    PlacesSidebarDragActionRequestedCallback,
    PlacesSidebarDragActionRequestedSignalInfo,
    afterPlacesSidebarDragActionRequested   ,
    genClosure_PlacesSidebarDragActionRequested,
    mk_PlacesSidebarDragActionRequestedCallback,
    noPlacesSidebarDragActionRequestedCallback,
    onPlacesSidebarDragActionRequested      ,
    wrap_PlacesSidebarDragActionRequestedCallback,


-- ** dragPerformDrop #signal:dragPerformDrop#
    C_PlacesSidebarDragPerformDropCallback  ,
    PlacesSidebarDragPerformDropCallback    ,
    PlacesSidebarDragPerformDropSignalInfo  ,
    afterPlacesSidebarDragPerformDrop       ,
    genClosure_PlacesSidebarDragPerformDrop ,
    mk_PlacesSidebarDragPerformDropCallback ,
    noPlacesSidebarDragPerformDropCallback  ,
    onPlacesSidebarDragPerformDrop          ,
    wrap_PlacesSidebarDragPerformDropCallback,


-- ** mount #signal:mount#
    C_PlacesSidebarMountCallback            ,
    PlacesSidebarMountCallback              ,
    PlacesSidebarMountSignalInfo            ,
    afterPlacesSidebarMount                 ,
    genClosure_PlacesSidebarMount           ,
    mk_PlacesSidebarMountCallback           ,
    noPlacesSidebarMountCallback            ,
    onPlacesSidebarMount                    ,
    wrap_PlacesSidebarMountCallback         ,


-- ** openLocation #signal:openLocation#
    C_PlacesSidebarOpenLocationCallback     ,
    PlacesSidebarOpenLocationCallback       ,
    PlacesSidebarOpenLocationSignalInfo     ,
    afterPlacesSidebarOpenLocation          ,
    genClosure_PlacesSidebarOpenLocation    ,
    mk_PlacesSidebarOpenLocationCallback    ,
    noPlacesSidebarOpenLocationCallback     ,
    onPlacesSidebarOpenLocation             ,
    wrap_PlacesSidebarOpenLocationCallback  ,


-- ** populatePopup #signal:populatePopup#
    C_PlacesSidebarPopulatePopupCallback    ,
    PlacesSidebarPopulatePopupCallback      ,
    PlacesSidebarPopulatePopupSignalInfo    ,
    afterPlacesSidebarPopulatePopup         ,
    genClosure_PlacesSidebarPopulatePopup   ,
    mk_PlacesSidebarPopulatePopupCallback   ,
    noPlacesSidebarPopulatePopupCallback    ,
    onPlacesSidebarPopulatePopup            ,
    wrap_PlacesSidebarPopulatePopupCallback ,


-- ** showConnectToServer #signal:showConnectToServer#
    C_PlacesSidebarShowConnectToServerCallback,
    PlacesSidebarShowConnectToServerCallback,
    PlacesSidebarShowConnectToServerSignalInfo,
    afterPlacesSidebarShowConnectToServer   ,
    genClosure_PlacesSidebarShowConnectToServer,
    mk_PlacesSidebarShowConnectToServerCallback,
    noPlacesSidebarShowConnectToServerCallback,
    onPlacesSidebarShowConnectToServer      ,
    wrap_PlacesSidebarShowConnectToServerCallback,


-- ** showEnterLocation #signal:showEnterLocation#
    C_PlacesSidebarShowEnterLocationCallback,
    PlacesSidebarShowEnterLocationCallback  ,
    PlacesSidebarShowEnterLocationSignalInfo,
    afterPlacesSidebarShowEnterLocation     ,
    genClosure_PlacesSidebarShowEnterLocation,
    mk_PlacesSidebarShowEnterLocationCallback,
    noPlacesSidebarShowEnterLocationCallback,
    onPlacesSidebarShowEnterLocation        ,
    wrap_PlacesSidebarShowEnterLocationCallback,


-- ** showErrorMessage #signal:showErrorMessage#
    C_PlacesSidebarShowErrorMessageCallback ,
    PlacesSidebarShowErrorMessageCallback   ,
    PlacesSidebarShowErrorMessageSignalInfo ,
    afterPlacesSidebarShowErrorMessage      ,
    genClosure_PlacesSidebarShowErrorMessage,
    mk_PlacesSidebarShowErrorMessageCallback,
    noPlacesSidebarShowErrorMessageCallback ,
    onPlacesSidebarShowErrorMessage         ,
    wrap_PlacesSidebarShowErrorMessageCallback,


-- ** showOtherLocations #signal:showOtherLocations#
    C_PlacesSidebarShowOtherLocationsCallback,
    PlacesSidebarShowOtherLocationsCallback ,
    PlacesSidebarShowOtherLocationsSignalInfo,
    afterPlacesSidebarShowOtherLocations    ,
    genClosure_PlacesSidebarShowOtherLocations,
    mk_PlacesSidebarShowOtherLocationsCallback,
    noPlacesSidebarShowOtherLocationsCallback,
    onPlacesSidebarShowOtherLocations       ,
    wrap_PlacesSidebarShowOtherLocationsCallback,


-- ** showOtherLocationsWithFlags #signal:showOtherLocationsWithFlags#
    C_PlacesSidebarShowOtherLocationsWithFlagsCallback,
    PlacesSidebarShowOtherLocationsWithFlagsCallback,
    PlacesSidebarShowOtherLocationsWithFlagsSignalInfo,
    afterPlacesSidebarShowOtherLocationsWithFlags,
    genClosure_PlacesSidebarShowOtherLocationsWithFlags,
    mk_PlacesSidebarShowOtherLocationsWithFlagsCallback,
    noPlacesSidebarShowOtherLocationsWithFlagsCallback,
    onPlacesSidebarShowOtherLocationsWithFlags,
    wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback,


-- ** unmount #signal:unmount#
    C_PlacesSidebarUnmountCallback          ,
    PlacesSidebarUnmountCallback            ,
    PlacesSidebarUnmountSignalInfo          ,
    afterPlacesSidebarUnmount               ,
    genClosure_PlacesSidebarUnmount         ,
    mk_PlacesSidebarUnmountCallback         ,
    noPlacesSidebarUnmountCallback          ,
    onPlacesSidebarUnmount                  ,
    wrap_PlacesSidebarUnmountCallback       ,




    ) where

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

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Objects.DragContext as Gdk.DragContext
import qualified GI.Gio.Interfaces.File as Gio.File
import qualified GI.Gio.Interfaces.Volume as Gio.Volume
import qualified GI.Gio.Objects.MountOperation as Gio.MountOperation
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
import {-# SOURCE #-} qualified GI.Gtk.Objects.ScrolledWindow as Gtk.ScrolledWindow
import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget

newtype PlacesSidebar = PlacesSidebar (ManagedPtr PlacesSidebar)
foreign import ccall "gtk_places_sidebar_get_type"
    c_gtk_places_sidebar_get_type :: IO GType

instance GObject PlacesSidebar where
    gobjectType _ = c_gtk_places_sidebar_get_type
    

class GObject o => IsPlacesSidebar o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError PlacesSidebar a) =>
    IsPlacesSidebar a
#endif
instance IsPlacesSidebar PlacesSidebar
instance Gtk.ScrolledWindow.IsScrolledWindow PlacesSidebar
instance Gtk.Bin.IsBin PlacesSidebar
instance Gtk.Container.IsContainer PlacesSidebar
instance Gtk.Widget.IsWidget PlacesSidebar
instance GObject.Object.IsObject PlacesSidebar
instance Atk.ImplementorIface.IsImplementorIface PlacesSidebar
instance Gtk.Buildable.IsBuildable PlacesSidebar

toPlacesSidebar :: IsPlacesSidebar o => o -> IO PlacesSidebar
toPlacesSidebar = unsafeCastTo PlacesSidebar

noPlacesSidebar :: Maybe PlacesSidebar
noPlacesSidebar = Nothing

type family ResolvePlacesSidebarMethod (t :: Symbol) (o :: *) :: * where
    ResolvePlacesSidebarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolvePlacesSidebarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
    ResolvePlacesSidebarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
    ResolvePlacesSidebarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolvePlacesSidebarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
    ResolvePlacesSidebarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
    ResolvePlacesSidebarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolvePlacesSidebarMethod "addShortcut" o = PlacesSidebarAddShortcutMethodInfo
    ResolvePlacesSidebarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolvePlacesSidebarMethod "addWithViewport" o = Gtk.ScrolledWindow.ScrolledWindowAddWithViewportMethodInfo
    ResolvePlacesSidebarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolvePlacesSidebarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolvePlacesSidebarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
    ResolvePlacesSidebarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
    ResolvePlacesSidebarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolvePlacesSidebarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
    ResolvePlacesSidebarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
    ResolvePlacesSidebarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
    ResolvePlacesSidebarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
    ResolvePlacesSidebarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
    ResolvePlacesSidebarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
    ResolvePlacesSidebarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolvePlacesSidebarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolvePlacesSidebarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolvePlacesSidebarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolvePlacesSidebarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolvePlacesSidebarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolvePlacesSidebarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolvePlacesSidebarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
    ResolvePlacesSidebarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
    ResolvePlacesSidebarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolvePlacesSidebarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
    ResolvePlacesSidebarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
    ResolvePlacesSidebarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolvePlacesSidebarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
    ResolvePlacesSidebarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
    ResolvePlacesSidebarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
    ResolvePlacesSidebarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
    ResolvePlacesSidebarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
    ResolvePlacesSidebarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
    ResolvePlacesSidebarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
    ResolvePlacesSidebarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
    ResolvePlacesSidebarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
    ResolvePlacesSidebarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
    ResolvePlacesSidebarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
    ResolvePlacesSidebarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
    ResolvePlacesSidebarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
    ResolvePlacesSidebarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
    ResolvePlacesSidebarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
    ResolvePlacesSidebarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
    ResolvePlacesSidebarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
    ResolvePlacesSidebarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
    ResolvePlacesSidebarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
    ResolvePlacesSidebarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
    ResolvePlacesSidebarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
    ResolvePlacesSidebarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
    ResolvePlacesSidebarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
    ResolvePlacesSidebarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
    ResolvePlacesSidebarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
    ResolvePlacesSidebarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
    ResolvePlacesSidebarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
    ResolvePlacesSidebarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolvePlacesSidebarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
    ResolvePlacesSidebarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
    ResolvePlacesSidebarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolvePlacesSidebarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
    ResolvePlacesSidebarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
    ResolvePlacesSidebarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolvePlacesSidebarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
    ResolvePlacesSidebarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
    ResolvePlacesSidebarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolvePlacesSidebarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
    ResolvePlacesSidebarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolvePlacesSidebarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolvePlacesSidebarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
    ResolvePlacesSidebarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
    ResolvePlacesSidebarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
    ResolvePlacesSidebarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolvePlacesSidebarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolvePlacesSidebarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
    ResolvePlacesSidebarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolvePlacesSidebarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolvePlacesSidebarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
    ResolvePlacesSidebarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolvePlacesSidebarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
    ResolvePlacesSidebarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolvePlacesSidebarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
    ResolvePlacesSidebarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolvePlacesSidebarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolvePlacesSidebarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolvePlacesSidebarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolvePlacesSidebarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
    ResolvePlacesSidebarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolvePlacesSidebarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolvePlacesSidebarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
    ResolvePlacesSidebarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
    ResolvePlacesSidebarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolvePlacesSidebarMethod "listShortcuts" o = PlacesSidebarListShortcutsMethodInfo
    ResolvePlacesSidebarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolvePlacesSidebarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolvePlacesSidebarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
    ResolvePlacesSidebarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
    ResolvePlacesSidebarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
    ResolvePlacesSidebarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
    ResolvePlacesSidebarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
    ResolvePlacesSidebarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
    ResolvePlacesSidebarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
    ResolvePlacesSidebarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolvePlacesSidebarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolvePlacesSidebarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
    ResolvePlacesSidebarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
    ResolvePlacesSidebarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
    ResolvePlacesSidebarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
    ResolvePlacesSidebarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
    ResolvePlacesSidebarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolvePlacesSidebarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
    ResolvePlacesSidebarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
    ResolvePlacesSidebarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolvePlacesSidebarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
    ResolvePlacesSidebarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolvePlacesSidebarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
    ResolvePlacesSidebarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
    ResolvePlacesSidebarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolvePlacesSidebarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
    ResolvePlacesSidebarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolvePlacesSidebarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolvePlacesSidebarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolvePlacesSidebarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
    ResolvePlacesSidebarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
    ResolvePlacesSidebarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
    ResolvePlacesSidebarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
    ResolvePlacesSidebarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolvePlacesSidebarMethod "removeShortcut" o = PlacesSidebarRemoveShortcutMethodInfo
    ResolvePlacesSidebarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolvePlacesSidebarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
    ResolvePlacesSidebarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
    ResolvePlacesSidebarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
    ResolvePlacesSidebarMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolvePlacesSidebarMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolvePlacesSidebarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
    ResolvePlacesSidebarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
    ResolvePlacesSidebarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
    ResolvePlacesSidebarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolvePlacesSidebarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
    ResolvePlacesSidebarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
    ResolvePlacesSidebarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
    ResolvePlacesSidebarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolvePlacesSidebarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
    ResolvePlacesSidebarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
    ResolvePlacesSidebarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolvePlacesSidebarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
    ResolvePlacesSidebarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
    ResolvePlacesSidebarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolvePlacesSidebarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolvePlacesSidebarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
    ResolvePlacesSidebarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
    ResolvePlacesSidebarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
    ResolvePlacesSidebarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolvePlacesSidebarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolvePlacesSidebarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolvePlacesSidebarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolvePlacesSidebarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolvePlacesSidebarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolvePlacesSidebarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolvePlacesSidebarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
    ResolvePlacesSidebarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
    ResolvePlacesSidebarMethod "unsetPlacement" o = Gtk.ScrolledWindow.ScrolledWindowUnsetPlacementMethodInfo
    ResolvePlacesSidebarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolvePlacesSidebarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolvePlacesSidebarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolvePlacesSidebarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
    ResolvePlacesSidebarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolvePlacesSidebarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolvePlacesSidebarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
    ResolvePlacesSidebarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolvePlacesSidebarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolvePlacesSidebarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolvePlacesSidebarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
    ResolvePlacesSidebarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
    ResolvePlacesSidebarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
    ResolvePlacesSidebarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolvePlacesSidebarMethod "getCaptureButtonPress" o = Gtk.ScrolledWindow.ScrolledWindowGetCaptureButtonPressMethodInfo
    ResolvePlacesSidebarMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
    ResolvePlacesSidebarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
    ResolvePlacesSidebarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolvePlacesSidebarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
    ResolvePlacesSidebarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
    ResolvePlacesSidebarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolvePlacesSidebarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
    ResolvePlacesSidebarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolvePlacesSidebarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
    ResolvePlacesSidebarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
    ResolvePlacesSidebarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolvePlacesSidebarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolvePlacesSidebarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
    ResolvePlacesSidebarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
    ResolvePlacesSidebarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
    ResolvePlacesSidebarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
    ResolvePlacesSidebarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
    ResolvePlacesSidebarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolvePlacesSidebarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
    ResolvePlacesSidebarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolvePlacesSidebarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolvePlacesSidebarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolvePlacesSidebarMethod "getHadjustment" o = Gtk.ScrolledWindow.ScrolledWindowGetHadjustmentMethodInfo
    ResolvePlacesSidebarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolvePlacesSidebarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolvePlacesSidebarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
    ResolvePlacesSidebarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolvePlacesSidebarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolvePlacesSidebarMethod "getHscrollbar" o = Gtk.ScrolledWindow.ScrolledWindowGetHscrollbarMethodInfo
    ResolvePlacesSidebarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolvePlacesSidebarMethod "getKineticScrolling" o = Gtk.ScrolledWindow.ScrolledWindowGetKineticScrollingMethodInfo
    ResolvePlacesSidebarMethod "getLocalOnly" o = PlacesSidebarGetLocalOnlyMethodInfo
    ResolvePlacesSidebarMethod "getLocation" o = PlacesSidebarGetLocationMethodInfo
    ResolvePlacesSidebarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolvePlacesSidebarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolvePlacesSidebarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolvePlacesSidebarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
    ResolvePlacesSidebarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
    ResolvePlacesSidebarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolvePlacesSidebarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolvePlacesSidebarMethod "getMaxContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowGetMaxContentHeightMethodInfo
    ResolvePlacesSidebarMethod "getMaxContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowGetMaxContentWidthMethodInfo
    ResolvePlacesSidebarMethod "getMinContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowGetMinContentHeightMethodInfo
    ResolvePlacesSidebarMethod "getMinContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowGetMinContentWidthMethodInfo
    ResolvePlacesSidebarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
    ResolvePlacesSidebarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
    ResolvePlacesSidebarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolvePlacesSidebarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
    ResolvePlacesSidebarMethod "getNthBookmark" o = PlacesSidebarGetNthBookmarkMethodInfo
    ResolvePlacesSidebarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolvePlacesSidebarMethod "getOpenFlags" o = PlacesSidebarGetOpenFlagsMethodInfo
    ResolvePlacesSidebarMethod "getOverlayScrolling" o = Gtk.ScrolledWindow.ScrolledWindowGetOverlayScrollingMethodInfo
    ResolvePlacesSidebarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolvePlacesSidebarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolvePlacesSidebarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
    ResolvePlacesSidebarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
    ResolvePlacesSidebarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
    ResolvePlacesSidebarMethod "getPlacement" o = Gtk.ScrolledWindow.ScrolledWindowGetPlacementMethodInfo
    ResolvePlacesSidebarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
    ResolvePlacesSidebarMethod "getPolicy" o = Gtk.ScrolledWindow.ScrolledWindowGetPolicyMethodInfo
    ResolvePlacesSidebarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
    ResolvePlacesSidebarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
    ResolvePlacesSidebarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
    ResolvePlacesSidebarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolvePlacesSidebarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
    ResolvePlacesSidebarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
    ResolvePlacesSidebarMethod "getPropagateNaturalHeight" o = Gtk.ScrolledWindow.ScrolledWindowGetPropagateNaturalHeightMethodInfo
    ResolvePlacesSidebarMethod "getPropagateNaturalWidth" o = Gtk.ScrolledWindow.ScrolledWindowGetPropagateNaturalWidthMethodInfo
    ResolvePlacesSidebarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolvePlacesSidebarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolvePlacesSidebarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolvePlacesSidebarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolvePlacesSidebarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolvePlacesSidebarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
    ResolvePlacesSidebarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
    ResolvePlacesSidebarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
    ResolvePlacesSidebarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolvePlacesSidebarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
    ResolvePlacesSidebarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolvePlacesSidebarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolvePlacesSidebarMethod "getShadowType" o = Gtk.ScrolledWindow.ScrolledWindowGetShadowTypeMethodInfo
    ResolvePlacesSidebarMethod "getShowConnectToServer" o = PlacesSidebarGetShowConnectToServerMethodInfo
    ResolvePlacesSidebarMethod "getShowDesktop" o = PlacesSidebarGetShowDesktopMethodInfo
    ResolvePlacesSidebarMethod "getShowEnterLocation" o = PlacesSidebarGetShowEnterLocationMethodInfo
    ResolvePlacesSidebarMethod "getShowOtherLocations" o = PlacesSidebarGetShowOtherLocationsMethodInfo
    ResolvePlacesSidebarMethod "getShowRecent" o = PlacesSidebarGetShowRecentMethodInfo
    ResolvePlacesSidebarMethod "getShowTrash" o = PlacesSidebarGetShowTrashMethodInfo
    ResolvePlacesSidebarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolvePlacesSidebarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
    ResolvePlacesSidebarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolvePlacesSidebarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
    ResolvePlacesSidebarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolvePlacesSidebarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    ResolvePlacesSidebarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolvePlacesSidebarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolvePlacesSidebarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolvePlacesSidebarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
    ResolvePlacesSidebarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
    ResolvePlacesSidebarMethod "getVadjustment" o = Gtk.ScrolledWindow.ScrolledWindowGetVadjustmentMethodInfo
    ResolvePlacesSidebarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolvePlacesSidebarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
    ResolvePlacesSidebarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolvePlacesSidebarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolvePlacesSidebarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolvePlacesSidebarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
    ResolvePlacesSidebarMethod "getVscrollbar" o = Gtk.ScrolledWindow.ScrolledWindowGetVscrollbarMethodInfo
    ResolvePlacesSidebarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
    ResolvePlacesSidebarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
    ResolvePlacesSidebarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
    ResolvePlacesSidebarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
    ResolvePlacesSidebarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
    ResolvePlacesSidebarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolvePlacesSidebarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
    ResolvePlacesSidebarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolvePlacesSidebarMethod "setCaptureButtonPress" o = Gtk.ScrolledWindow.ScrolledWindowSetCaptureButtonPressMethodInfo
    ResolvePlacesSidebarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolvePlacesSidebarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
    ResolvePlacesSidebarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
    ResolvePlacesSidebarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolvePlacesSidebarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
    ResolvePlacesSidebarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
    ResolvePlacesSidebarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolvePlacesSidebarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
    ResolvePlacesSidebarMethod "setDropTargetsVisible" o = PlacesSidebarSetDropTargetsVisibleMethodInfo
    ResolvePlacesSidebarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
    ResolvePlacesSidebarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
    ResolvePlacesSidebarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
    ResolvePlacesSidebarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
    ResolvePlacesSidebarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolvePlacesSidebarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
    ResolvePlacesSidebarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolvePlacesSidebarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolvePlacesSidebarMethod "setHadjustment" o = Gtk.ScrolledWindow.ScrolledWindowSetHadjustmentMethodInfo
    ResolvePlacesSidebarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolvePlacesSidebarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolvePlacesSidebarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
    ResolvePlacesSidebarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolvePlacesSidebarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolvePlacesSidebarMethod "setKineticScrolling" o = Gtk.ScrolledWindow.ScrolledWindowSetKineticScrollingMethodInfo
    ResolvePlacesSidebarMethod "setLocalOnly" o = PlacesSidebarSetLocalOnlyMethodInfo
    ResolvePlacesSidebarMethod "setLocation" o = PlacesSidebarSetLocationMethodInfo
    ResolvePlacesSidebarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
    ResolvePlacesSidebarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolvePlacesSidebarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolvePlacesSidebarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
    ResolvePlacesSidebarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
    ResolvePlacesSidebarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolvePlacesSidebarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolvePlacesSidebarMethod "setMaxContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowSetMaxContentHeightMethodInfo
    ResolvePlacesSidebarMethod "setMaxContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowSetMaxContentWidthMethodInfo
    ResolvePlacesSidebarMethod "setMinContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowSetMinContentHeightMethodInfo
    ResolvePlacesSidebarMethod "setMinContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowSetMinContentWidthMethodInfo
    ResolvePlacesSidebarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolvePlacesSidebarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
    ResolvePlacesSidebarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolvePlacesSidebarMethod "setOpenFlags" o = PlacesSidebarSetOpenFlagsMethodInfo
    ResolvePlacesSidebarMethod "setOverlayScrolling" o = Gtk.ScrolledWindow.ScrolledWindowSetOverlayScrollingMethodInfo
    ResolvePlacesSidebarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolvePlacesSidebarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
    ResolvePlacesSidebarMethod "setPlacement" o = Gtk.ScrolledWindow.ScrolledWindowSetPlacementMethodInfo
    ResolvePlacesSidebarMethod "setPolicy" o = Gtk.ScrolledWindow.ScrolledWindowSetPolicyMethodInfo
    ResolvePlacesSidebarMethod "setPropagateNaturalHeight" o = Gtk.ScrolledWindow.ScrolledWindowSetPropagateNaturalHeightMethodInfo
    ResolvePlacesSidebarMethod "setPropagateNaturalWidth" o = Gtk.ScrolledWindow.ScrolledWindowSetPropagateNaturalWidthMethodInfo
    ResolvePlacesSidebarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolvePlacesSidebarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
    ResolvePlacesSidebarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
    ResolvePlacesSidebarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolvePlacesSidebarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
    ResolvePlacesSidebarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
    ResolvePlacesSidebarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolvePlacesSidebarMethod "setShadowType" o = Gtk.ScrolledWindow.ScrolledWindowSetShadowTypeMethodInfo
    ResolvePlacesSidebarMethod "setShowConnectToServer" o = PlacesSidebarSetShowConnectToServerMethodInfo
    ResolvePlacesSidebarMethod "setShowDesktop" o = PlacesSidebarSetShowDesktopMethodInfo
    ResolvePlacesSidebarMethod "setShowEnterLocation" o = PlacesSidebarSetShowEnterLocationMethodInfo
    ResolvePlacesSidebarMethod "setShowOtherLocations" o = PlacesSidebarSetShowOtherLocationsMethodInfo
    ResolvePlacesSidebarMethod "setShowRecent" o = PlacesSidebarSetShowRecentMethodInfo
    ResolvePlacesSidebarMethod "setShowTrash" o = PlacesSidebarSetShowTrashMethodInfo
    ResolvePlacesSidebarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolvePlacesSidebarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
    ResolvePlacesSidebarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolvePlacesSidebarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
    ResolvePlacesSidebarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolvePlacesSidebarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolvePlacesSidebarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolvePlacesSidebarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
    ResolvePlacesSidebarMethod "setVadjustment" o = Gtk.ScrolledWindow.ScrolledWindowSetVadjustmentMethodInfo
    ResolvePlacesSidebarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolvePlacesSidebarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolvePlacesSidebarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolvePlacesSidebarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolvePlacesSidebarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
    ResolvePlacesSidebarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
    ResolvePlacesSidebarMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolvePlacesSidebarMethod t PlacesSidebar, O.MethodInfo info PlacesSidebar p) => O.IsLabelProxy t (PlacesSidebar -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolvePlacesSidebarMethod t PlacesSidebar, O.MethodInfo info PlacesSidebar p) => O.IsLabel t (PlacesSidebar -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- signal PlacesSidebar::drag-action-ask
type PlacesSidebarDragActionAskCallback =
    Int32 ->
    IO Int32

noPlacesSidebarDragActionAskCallback :: Maybe PlacesSidebarDragActionAskCallback
noPlacesSidebarDragActionAskCallback = Nothing

type C_PlacesSidebarDragActionAskCallback =
    Ptr () ->                               -- object
    Int32 ->
    Ptr () ->                               -- user_data
    IO Int32

foreign import ccall "wrapper"
    mk_PlacesSidebarDragActionAskCallback :: C_PlacesSidebarDragActionAskCallback -> IO (FunPtr C_PlacesSidebarDragActionAskCallback)

genClosure_PlacesSidebarDragActionAsk :: PlacesSidebarDragActionAskCallback -> IO Closure
genClosure_PlacesSidebarDragActionAsk cb = do
    let cb' = wrap_PlacesSidebarDragActionAskCallback cb
    mk_PlacesSidebarDragActionAskCallback cb' >>= newCClosure


wrap_PlacesSidebarDragActionAskCallback ::
    PlacesSidebarDragActionAskCallback ->
    Ptr () ->
    Int32 ->
    Ptr () ->
    IO Int32
wrap_PlacesSidebarDragActionAskCallback _cb _ actions _ = do
    result <- _cb  actions
    return result


onPlacesSidebarDragActionAsk :: (GObject a, MonadIO m) => a -> PlacesSidebarDragActionAskCallback -> m SignalHandlerId
onPlacesSidebarDragActionAsk obj cb = liftIO $ connectPlacesSidebarDragActionAsk obj cb SignalConnectBefore
afterPlacesSidebarDragActionAsk :: (GObject a, MonadIO m) => a -> PlacesSidebarDragActionAskCallback -> m SignalHandlerId
afterPlacesSidebarDragActionAsk obj cb = connectPlacesSidebarDragActionAsk obj cb SignalConnectAfter

connectPlacesSidebarDragActionAsk :: (GObject a, MonadIO m) =>
                                     a -> PlacesSidebarDragActionAskCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarDragActionAsk obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarDragActionAskCallback cb
    cb'' <- mk_PlacesSidebarDragActionAskCallback cb'
    connectSignalFunPtr obj "drag-action-ask" cb'' after

-- signal PlacesSidebar::drag-action-requested
type PlacesSidebarDragActionRequestedCallback =
    Gdk.DragContext.DragContext ->
    Gio.File.File ->
    [Gio.File.File] ->
    IO Int32

noPlacesSidebarDragActionRequestedCallback :: Maybe PlacesSidebarDragActionRequestedCallback
noPlacesSidebarDragActionRequestedCallback = Nothing

type C_PlacesSidebarDragActionRequestedCallback =
    Ptr () ->                               -- object
    Ptr Gdk.DragContext.DragContext ->
    Ptr Gio.File.File ->
    Ptr (GList (Ptr Gio.File.File)) ->
    Ptr () ->                               -- user_data
    IO Int32

foreign import ccall "wrapper"
    mk_PlacesSidebarDragActionRequestedCallback :: C_PlacesSidebarDragActionRequestedCallback -> IO (FunPtr C_PlacesSidebarDragActionRequestedCallback)

genClosure_PlacesSidebarDragActionRequested :: PlacesSidebarDragActionRequestedCallback -> IO Closure
genClosure_PlacesSidebarDragActionRequested cb = do
    let cb' = wrap_PlacesSidebarDragActionRequestedCallback cb
    mk_PlacesSidebarDragActionRequestedCallback cb' >>= newCClosure


wrap_PlacesSidebarDragActionRequestedCallback ::
    PlacesSidebarDragActionRequestedCallback ->
    Ptr () ->
    Ptr Gdk.DragContext.DragContext ->
    Ptr Gio.File.File ->
    Ptr (GList (Ptr Gio.File.File)) ->
    Ptr () ->
    IO Int32
wrap_PlacesSidebarDragActionRequestedCallback _cb _ context destFile sourceFileList _ = do
    context' <- (newObject Gdk.DragContext.DragContext) context
    destFile' <- (newObject Gio.File.File) destFile
    sourceFileList' <- unpackGList sourceFileList
    sourceFileList'' <- mapM (newObject Gio.File.File) sourceFileList'
    result <- _cb  context' destFile' sourceFileList''
    return result


onPlacesSidebarDragActionRequested :: (GObject a, MonadIO m) => a -> PlacesSidebarDragActionRequestedCallback -> m SignalHandlerId
onPlacesSidebarDragActionRequested obj cb = liftIO $ connectPlacesSidebarDragActionRequested obj cb SignalConnectBefore
afterPlacesSidebarDragActionRequested :: (GObject a, MonadIO m) => a -> PlacesSidebarDragActionRequestedCallback -> m SignalHandlerId
afterPlacesSidebarDragActionRequested obj cb = connectPlacesSidebarDragActionRequested obj cb SignalConnectAfter

connectPlacesSidebarDragActionRequested :: (GObject a, MonadIO m) =>
                                           a -> PlacesSidebarDragActionRequestedCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarDragActionRequested obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarDragActionRequestedCallback cb
    cb'' <- mk_PlacesSidebarDragActionRequestedCallback cb'
    connectSignalFunPtr obj "drag-action-requested" cb'' after

-- signal PlacesSidebar::drag-perform-drop
type PlacesSidebarDragPerformDropCallback =
    Gio.File.File ->
    [Gio.File.File] ->
    Int32 ->
    IO ()

noPlacesSidebarDragPerformDropCallback :: Maybe PlacesSidebarDragPerformDropCallback
noPlacesSidebarDragPerformDropCallback = Nothing

type C_PlacesSidebarDragPerformDropCallback =
    Ptr () ->                               -- object
    Ptr Gio.File.File ->
    Ptr (GList (Ptr Gio.File.File)) ->
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarDragPerformDropCallback :: C_PlacesSidebarDragPerformDropCallback -> IO (FunPtr C_PlacesSidebarDragPerformDropCallback)

genClosure_PlacesSidebarDragPerformDrop :: PlacesSidebarDragPerformDropCallback -> IO Closure
genClosure_PlacesSidebarDragPerformDrop cb = do
    let cb' = wrap_PlacesSidebarDragPerformDropCallback cb
    mk_PlacesSidebarDragPerformDropCallback cb' >>= newCClosure


wrap_PlacesSidebarDragPerformDropCallback ::
    PlacesSidebarDragPerformDropCallback ->
    Ptr () ->
    Ptr Gio.File.File ->
    Ptr (GList (Ptr Gio.File.File)) ->
    Int32 ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarDragPerformDropCallback _cb _ destFile sourceFileList action _ = do
    destFile' <- (newObject Gio.File.File) destFile
    sourceFileList' <- unpackGList sourceFileList
    sourceFileList'' <- mapM (newObject Gio.File.File) sourceFileList'
    _cb  destFile' sourceFileList'' action


onPlacesSidebarDragPerformDrop :: (GObject a, MonadIO m) => a -> PlacesSidebarDragPerformDropCallback -> m SignalHandlerId
onPlacesSidebarDragPerformDrop obj cb = liftIO $ connectPlacesSidebarDragPerformDrop obj cb SignalConnectBefore
afterPlacesSidebarDragPerformDrop :: (GObject a, MonadIO m) => a -> PlacesSidebarDragPerformDropCallback -> m SignalHandlerId
afterPlacesSidebarDragPerformDrop obj cb = connectPlacesSidebarDragPerformDrop obj cb SignalConnectAfter

connectPlacesSidebarDragPerformDrop :: (GObject a, MonadIO m) =>
                                       a -> PlacesSidebarDragPerformDropCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarDragPerformDrop obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarDragPerformDropCallback cb
    cb'' <- mk_PlacesSidebarDragPerformDropCallback cb'
    connectSignalFunPtr obj "drag-perform-drop" cb'' after

-- signal PlacesSidebar::mount
type PlacesSidebarMountCallback =
    Gio.MountOperation.MountOperation ->
    IO ()

noPlacesSidebarMountCallback :: Maybe PlacesSidebarMountCallback
noPlacesSidebarMountCallback = Nothing

type C_PlacesSidebarMountCallback =
    Ptr () ->                               -- object
    Ptr Gio.MountOperation.MountOperation ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarMountCallback :: C_PlacesSidebarMountCallback -> IO (FunPtr C_PlacesSidebarMountCallback)

genClosure_PlacesSidebarMount :: PlacesSidebarMountCallback -> IO Closure
genClosure_PlacesSidebarMount cb = do
    let cb' = wrap_PlacesSidebarMountCallback cb
    mk_PlacesSidebarMountCallback cb' >>= newCClosure


wrap_PlacesSidebarMountCallback ::
    PlacesSidebarMountCallback ->
    Ptr () ->
    Ptr Gio.MountOperation.MountOperation ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarMountCallback _cb _ mountOperation _ = do
    mountOperation' <- (newObject Gio.MountOperation.MountOperation) mountOperation
    _cb  mountOperation'


onPlacesSidebarMount :: (GObject a, MonadIO m) => a -> PlacesSidebarMountCallback -> m SignalHandlerId
onPlacesSidebarMount obj cb = liftIO $ connectPlacesSidebarMount obj cb SignalConnectBefore
afterPlacesSidebarMount :: (GObject a, MonadIO m) => a -> PlacesSidebarMountCallback -> m SignalHandlerId
afterPlacesSidebarMount obj cb = connectPlacesSidebarMount obj cb SignalConnectAfter

connectPlacesSidebarMount :: (GObject a, MonadIO m) =>
                             a -> PlacesSidebarMountCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarMount obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarMountCallback cb
    cb'' <- mk_PlacesSidebarMountCallback cb'
    connectSignalFunPtr obj "mount" cb'' after

-- signal PlacesSidebar::open-location
type PlacesSidebarOpenLocationCallback =
    Gio.File.File ->
    [Gtk.Flags.PlacesOpenFlags] ->
    IO ()

noPlacesSidebarOpenLocationCallback :: Maybe PlacesSidebarOpenLocationCallback
noPlacesSidebarOpenLocationCallback = Nothing

type C_PlacesSidebarOpenLocationCallback =
    Ptr () ->                               -- object
    Ptr Gio.File.File ->
    CUInt ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarOpenLocationCallback :: C_PlacesSidebarOpenLocationCallback -> IO (FunPtr C_PlacesSidebarOpenLocationCallback)

genClosure_PlacesSidebarOpenLocation :: PlacesSidebarOpenLocationCallback -> IO Closure
genClosure_PlacesSidebarOpenLocation cb = do
    let cb' = wrap_PlacesSidebarOpenLocationCallback cb
    mk_PlacesSidebarOpenLocationCallback cb' >>= newCClosure


wrap_PlacesSidebarOpenLocationCallback ::
    PlacesSidebarOpenLocationCallback ->
    Ptr () ->
    Ptr Gio.File.File ->
    CUInt ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarOpenLocationCallback _cb _ location openFlags _ = do
    location' <- (newObject Gio.File.File) location
    let openFlags' = wordToGFlags openFlags
    _cb  location' openFlags'


onPlacesSidebarOpenLocation :: (GObject a, MonadIO m) => a -> PlacesSidebarOpenLocationCallback -> m SignalHandlerId
onPlacesSidebarOpenLocation obj cb = liftIO $ connectPlacesSidebarOpenLocation obj cb SignalConnectBefore
afterPlacesSidebarOpenLocation :: (GObject a, MonadIO m) => a -> PlacesSidebarOpenLocationCallback -> m SignalHandlerId
afterPlacesSidebarOpenLocation obj cb = connectPlacesSidebarOpenLocation obj cb SignalConnectAfter

connectPlacesSidebarOpenLocation :: (GObject a, MonadIO m) =>
                                    a -> PlacesSidebarOpenLocationCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarOpenLocation obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarOpenLocationCallback cb
    cb'' <- mk_PlacesSidebarOpenLocationCallback cb'
    connectSignalFunPtr obj "open-location" cb'' after

-- signal PlacesSidebar::populate-popup
type PlacesSidebarPopulatePopupCallback =
    Gtk.Widget.Widget ->
    Maybe Gio.File.File ->
    Maybe Gio.Volume.Volume ->
    IO ()

noPlacesSidebarPopulatePopupCallback :: Maybe PlacesSidebarPopulatePopupCallback
noPlacesSidebarPopulatePopupCallback = Nothing

type C_PlacesSidebarPopulatePopupCallback =
    Ptr () ->                               -- object
    Ptr Gtk.Widget.Widget ->
    Ptr Gio.File.File ->
    Ptr Gio.Volume.Volume ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarPopulatePopupCallback :: C_PlacesSidebarPopulatePopupCallback -> IO (FunPtr C_PlacesSidebarPopulatePopupCallback)

genClosure_PlacesSidebarPopulatePopup :: PlacesSidebarPopulatePopupCallback -> IO Closure
genClosure_PlacesSidebarPopulatePopup cb = do
    let cb' = wrap_PlacesSidebarPopulatePopupCallback cb
    mk_PlacesSidebarPopulatePopupCallback cb' >>= newCClosure


wrap_PlacesSidebarPopulatePopupCallback ::
    PlacesSidebarPopulatePopupCallback ->
    Ptr () ->
    Ptr Gtk.Widget.Widget ->
    Ptr Gio.File.File ->
    Ptr Gio.Volume.Volume ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarPopulatePopupCallback _cb _ container selectedItem selectedVolume _ = do
    container' <- (newObject Gtk.Widget.Widget) container
    maybeSelectedItem <-
        if selectedItem == nullPtr
        then return Nothing
        else do
            selectedItem' <- (newObject Gio.File.File) selectedItem
            return $ Just selectedItem'
    maybeSelectedVolume <-
        if selectedVolume == nullPtr
        then return Nothing
        else do
            selectedVolume' <- (newObject Gio.Volume.Volume) selectedVolume
            return $ Just selectedVolume'
    _cb  container' maybeSelectedItem maybeSelectedVolume


onPlacesSidebarPopulatePopup :: (GObject a, MonadIO m) => a -> PlacesSidebarPopulatePopupCallback -> m SignalHandlerId
onPlacesSidebarPopulatePopup obj cb = liftIO $ connectPlacesSidebarPopulatePopup obj cb SignalConnectBefore
afterPlacesSidebarPopulatePopup :: (GObject a, MonadIO m) => a -> PlacesSidebarPopulatePopupCallback -> m SignalHandlerId
afterPlacesSidebarPopulatePopup obj cb = connectPlacesSidebarPopulatePopup obj cb SignalConnectAfter

connectPlacesSidebarPopulatePopup :: (GObject a, MonadIO m) =>
                                     a -> PlacesSidebarPopulatePopupCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarPopulatePopup obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarPopulatePopupCallback cb
    cb'' <- mk_PlacesSidebarPopulatePopupCallback cb'
    connectSignalFunPtr obj "populate-popup" cb'' after

-- signal PlacesSidebar::show-connect-to-server
{-# DEPRECATED PlacesSidebarShowConnectToServerCallback ["(Since version 3.18)","use the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-other-locations/@ signal","    to connect to network servers."] #-}
type PlacesSidebarShowConnectToServerCallback =
    IO ()

noPlacesSidebarShowConnectToServerCallback :: Maybe PlacesSidebarShowConnectToServerCallback
noPlacesSidebarShowConnectToServerCallback = Nothing

type C_PlacesSidebarShowConnectToServerCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarShowConnectToServerCallback :: C_PlacesSidebarShowConnectToServerCallback -> IO (FunPtr C_PlacesSidebarShowConnectToServerCallback)

genClosure_PlacesSidebarShowConnectToServer :: PlacesSidebarShowConnectToServerCallback -> IO Closure
genClosure_PlacesSidebarShowConnectToServer cb = do
    let cb' = wrap_PlacesSidebarShowConnectToServerCallback cb
    mk_PlacesSidebarShowConnectToServerCallback cb' >>= newCClosure


wrap_PlacesSidebarShowConnectToServerCallback ::
    PlacesSidebarShowConnectToServerCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarShowConnectToServerCallback _cb _ _ = do
    _cb 


onPlacesSidebarShowConnectToServer :: (GObject a, MonadIO m) => a -> PlacesSidebarShowConnectToServerCallback -> m SignalHandlerId
onPlacesSidebarShowConnectToServer obj cb = liftIO $ connectPlacesSidebarShowConnectToServer obj cb SignalConnectBefore
afterPlacesSidebarShowConnectToServer :: (GObject a, MonadIO m) => a -> PlacesSidebarShowConnectToServerCallback -> m SignalHandlerId
afterPlacesSidebarShowConnectToServer obj cb = connectPlacesSidebarShowConnectToServer obj cb SignalConnectAfter

connectPlacesSidebarShowConnectToServer :: (GObject a, MonadIO m) =>
                                           a -> PlacesSidebarShowConnectToServerCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarShowConnectToServer obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarShowConnectToServerCallback cb
    cb'' <- mk_PlacesSidebarShowConnectToServerCallback cb'
    connectSignalFunPtr obj "show-connect-to-server" cb'' after

-- signal PlacesSidebar::show-enter-location
type PlacesSidebarShowEnterLocationCallback =
    IO ()

noPlacesSidebarShowEnterLocationCallback :: Maybe PlacesSidebarShowEnterLocationCallback
noPlacesSidebarShowEnterLocationCallback = Nothing

type C_PlacesSidebarShowEnterLocationCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarShowEnterLocationCallback :: C_PlacesSidebarShowEnterLocationCallback -> IO (FunPtr C_PlacesSidebarShowEnterLocationCallback)

genClosure_PlacesSidebarShowEnterLocation :: PlacesSidebarShowEnterLocationCallback -> IO Closure
genClosure_PlacesSidebarShowEnterLocation cb = do
    let cb' = wrap_PlacesSidebarShowEnterLocationCallback cb
    mk_PlacesSidebarShowEnterLocationCallback cb' >>= newCClosure


wrap_PlacesSidebarShowEnterLocationCallback ::
    PlacesSidebarShowEnterLocationCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarShowEnterLocationCallback _cb _ _ = do
    _cb 


onPlacesSidebarShowEnterLocation :: (GObject a, MonadIO m) => a -> PlacesSidebarShowEnterLocationCallback -> m SignalHandlerId
onPlacesSidebarShowEnterLocation obj cb = liftIO $ connectPlacesSidebarShowEnterLocation obj cb SignalConnectBefore
afterPlacesSidebarShowEnterLocation :: (GObject a, MonadIO m) => a -> PlacesSidebarShowEnterLocationCallback -> m SignalHandlerId
afterPlacesSidebarShowEnterLocation obj cb = connectPlacesSidebarShowEnterLocation obj cb SignalConnectAfter

connectPlacesSidebarShowEnterLocation :: (GObject a, MonadIO m) =>
                                         a -> PlacesSidebarShowEnterLocationCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarShowEnterLocation obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarShowEnterLocationCallback cb
    cb'' <- mk_PlacesSidebarShowEnterLocationCallback cb'
    connectSignalFunPtr obj "show-enter-location" cb'' after

-- signal PlacesSidebar::show-error-message
type PlacesSidebarShowErrorMessageCallback =
    T.Text ->
    T.Text ->
    IO ()

noPlacesSidebarShowErrorMessageCallback :: Maybe PlacesSidebarShowErrorMessageCallback
noPlacesSidebarShowErrorMessageCallback = Nothing

type C_PlacesSidebarShowErrorMessageCallback =
    Ptr () ->                               -- object
    CString ->
    CString ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarShowErrorMessageCallback :: C_PlacesSidebarShowErrorMessageCallback -> IO (FunPtr C_PlacesSidebarShowErrorMessageCallback)

genClosure_PlacesSidebarShowErrorMessage :: PlacesSidebarShowErrorMessageCallback -> IO Closure
genClosure_PlacesSidebarShowErrorMessage cb = do
    let cb' = wrap_PlacesSidebarShowErrorMessageCallback cb
    mk_PlacesSidebarShowErrorMessageCallback cb' >>= newCClosure


wrap_PlacesSidebarShowErrorMessageCallback ::
    PlacesSidebarShowErrorMessageCallback ->
    Ptr () ->
    CString ->
    CString ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarShowErrorMessageCallback _cb _ primary secondary _ = do
    primary' <- cstringToText primary
    secondary' <- cstringToText secondary
    _cb  primary' secondary'


onPlacesSidebarShowErrorMessage :: (GObject a, MonadIO m) => a -> PlacesSidebarShowErrorMessageCallback -> m SignalHandlerId
onPlacesSidebarShowErrorMessage obj cb = liftIO $ connectPlacesSidebarShowErrorMessage obj cb SignalConnectBefore
afterPlacesSidebarShowErrorMessage :: (GObject a, MonadIO m) => a -> PlacesSidebarShowErrorMessageCallback -> m SignalHandlerId
afterPlacesSidebarShowErrorMessage obj cb = connectPlacesSidebarShowErrorMessage obj cb SignalConnectAfter

connectPlacesSidebarShowErrorMessage :: (GObject a, MonadIO m) =>
                                        a -> PlacesSidebarShowErrorMessageCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarShowErrorMessage obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarShowErrorMessageCallback cb
    cb'' <- mk_PlacesSidebarShowErrorMessageCallback cb'
    connectSignalFunPtr obj "show-error-message" cb'' after

-- signal PlacesSidebar::show-other-locations
{-# DEPRECATED PlacesSidebarShowOtherLocationsCallback ["(Since version 3.20)","use the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-other-locations-with-flags/@","which includes the open flags in order to allow the user to specify to open","in a new tab or window, in a similar way than 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@"] #-}
type PlacesSidebarShowOtherLocationsCallback =
    IO ()

noPlacesSidebarShowOtherLocationsCallback :: Maybe PlacesSidebarShowOtherLocationsCallback
noPlacesSidebarShowOtherLocationsCallback = Nothing

type C_PlacesSidebarShowOtherLocationsCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarShowOtherLocationsCallback :: C_PlacesSidebarShowOtherLocationsCallback -> IO (FunPtr C_PlacesSidebarShowOtherLocationsCallback)

genClosure_PlacesSidebarShowOtherLocations :: PlacesSidebarShowOtherLocationsCallback -> IO Closure
genClosure_PlacesSidebarShowOtherLocations cb = do
    let cb' = wrap_PlacesSidebarShowOtherLocationsCallback cb
    mk_PlacesSidebarShowOtherLocationsCallback cb' >>= newCClosure


wrap_PlacesSidebarShowOtherLocationsCallback ::
    PlacesSidebarShowOtherLocationsCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarShowOtherLocationsCallback _cb _ _ = do
    _cb 


onPlacesSidebarShowOtherLocations :: (GObject a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsCallback -> m SignalHandlerId
onPlacesSidebarShowOtherLocations obj cb = liftIO $ connectPlacesSidebarShowOtherLocations obj cb SignalConnectBefore
afterPlacesSidebarShowOtherLocations :: (GObject a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsCallback -> m SignalHandlerId
afterPlacesSidebarShowOtherLocations obj cb = connectPlacesSidebarShowOtherLocations obj cb SignalConnectAfter

connectPlacesSidebarShowOtherLocations :: (GObject a, MonadIO m) =>
                                          a -> PlacesSidebarShowOtherLocationsCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarShowOtherLocations obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarShowOtherLocationsCallback cb
    cb'' <- mk_PlacesSidebarShowOtherLocationsCallback cb'
    connectSignalFunPtr obj "show-other-locations" cb'' after

-- signal PlacesSidebar::show-other-locations-with-flags
type PlacesSidebarShowOtherLocationsWithFlagsCallback =
    [Gtk.Flags.PlacesOpenFlags] ->
    IO ()

noPlacesSidebarShowOtherLocationsWithFlagsCallback :: Maybe PlacesSidebarShowOtherLocationsWithFlagsCallback
noPlacesSidebarShowOtherLocationsWithFlagsCallback = Nothing

type C_PlacesSidebarShowOtherLocationsWithFlagsCallback =
    Ptr () ->                               -- object
    CUInt ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarShowOtherLocationsWithFlagsCallback :: C_PlacesSidebarShowOtherLocationsWithFlagsCallback -> IO (FunPtr C_PlacesSidebarShowOtherLocationsWithFlagsCallback)

genClosure_PlacesSidebarShowOtherLocationsWithFlags :: PlacesSidebarShowOtherLocationsWithFlagsCallback -> IO Closure
genClosure_PlacesSidebarShowOtherLocationsWithFlags cb = do
    let cb' = wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback cb
    mk_PlacesSidebarShowOtherLocationsWithFlagsCallback cb' >>= newCClosure


wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback ::
    PlacesSidebarShowOtherLocationsWithFlagsCallback ->
    Ptr () ->
    CUInt ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback _cb _ openFlags _ = do
    let openFlags' = wordToGFlags openFlags
    _cb  openFlags'


onPlacesSidebarShowOtherLocationsWithFlags :: (GObject a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsWithFlagsCallback -> m SignalHandlerId
onPlacesSidebarShowOtherLocationsWithFlags obj cb = liftIO $ connectPlacesSidebarShowOtherLocationsWithFlags obj cb SignalConnectBefore
afterPlacesSidebarShowOtherLocationsWithFlags :: (GObject a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsWithFlagsCallback -> m SignalHandlerId
afterPlacesSidebarShowOtherLocationsWithFlags obj cb = connectPlacesSidebarShowOtherLocationsWithFlags obj cb SignalConnectAfter

connectPlacesSidebarShowOtherLocationsWithFlags :: (GObject a, MonadIO m) =>
                                                   a -> PlacesSidebarShowOtherLocationsWithFlagsCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarShowOtherLocationsWithFlags obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback cb
    cb'' <- mk_PlacesSidebarShowOtherLocationsWithFlagsCallback cb'
    connectSignalFunPtr obj "show-other-locations-with-flags" cb'' after

-- signal PlacesSidebar::unmount
type PlacesSidebarUnmountCallback =
    Gio.MountOperation.MountOperation ->
    IO ()

noPlacesSidebarUnmountCallback :: Maybe PlacesSidebarUnmountCallback
noPlacesSidebarUnmountCallback = Nothing

type C_PlacesSidebarUnmountCallback =
    Ptr () ->                               -- object
    Ptr Gio.MountOperation.MountOperation ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_PlacesSidebarUnmountCallback :: C_PlacesSidebarUnmountCallback -> IO (FunPtr C_PlacesSidebarUnmountCallback)

genClosure_PlacesSidebarUnmount :: PlacesSidebarUnmountCallback -> IO Closure
genClosure_PlacesSidebarUnmount cb = do
    let cb' = wrap_PlacesSidebarUnmountCallback cb
    mk_PlacesSidebarUnmountCallback cb' >>= newCClosure


wrap_PlacesSidebarUnmountCallback ::
    PlacesSidebarUnmountCallback ->
    Ptr () ->
    Ptr Gio.MountOperation.MountOperation ->
    Ptr () ->
    IO ()
wrap_PlacesSidebarUnmountCallback _cb _ mountOperation _ = do
    mountOperation' <- (newObject Gio.MountOperation.MountOperation) mountOperation
    _cb  mountOperation'


onPlacesSidebarUnmount :: (GObject a, MonadIO m) => a -> PlacesSidebarUnmountCallback -> m SignalHandlerId
onPlacesSidebarUnmount obj cb = liftIO $ connectPlacesSidebarUnmount obj cb SignalConnectBefore
afterPlacesSidebarUnmount :: (GObject a, MonadIO m) => a -> PlacesSidebarUnmountCallback -> m SignalHandlerId
afterPlacesSidebarUnmount obj cb = connectPlacesSidebarUnmount obj cb SignalConnectAfter

connectPlacesSidebarUnmount :: (GObject a, MonadIO m) =>
                               a -> PlacesSidebarUnmountCallback -> SignalConnectMode -> m SignalHandlerId
connectPlacesSidebarUnmount obj cb after = liftIO $ do
    let cb' = wrap_PlacesSidebarUnmountCallback cb
    cb'' <- mk_PlacesSidebarUnmountCallback cb'
    connectSignalFunPtr obj "unmount" cb'' after

-- VVV Prop "local-only"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarLocalOnly :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarLocalOnly obj = liftIO $ getObjectPropertyBool obj "local-only"

setPlacesSidebarLocalOnly :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarLocalOnly obj val = liftIO $ setObjectPropertyBool obj "local-only" val

constructPlacesSidebarLocalOnly :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarLocalOnly val = constructObjectPropertyBool "local-only" val

data PlacesSidebarLocalOnlyPropertyInfo
instance AttrInfo PlacesSidebarLocalOnlyPropertyInfo where
    type AttrAllowedOps PlacesSidebarLocalOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarLocalOnlyPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarLocalOnlyPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarLocalOnlyPropertyInfo = Bool
    type AttrLabel PlacesSidebarLocalOnlyPropertyInfo = "local-only"
    type AttrOrigin PlacesSidebarLocalOnlyPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarLocalOnly
    attrSet _ = setPlacesSidebarLocalOnly
    attrConstruct _ = constructPlacesSidebarLocalOnly
    attrClear _ = undefined

-- VVV Prop "location"
   -- Type: TInterface (Name {namespace = "Gio", name = "File"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Just True)

getPlacesSidebarLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m (Maybe Gio.File.File)
getPlacesSidebarLocation obj = liftIO $ getObjectPropertyObject obj "location" Gio.File.File

setPlacesSidebarLocation :: (MonadIO m, IsPlacesSidebar o, Gio.File.IsFile a) => o -> a -> m ()
setPlacesSidebarLocation obj val = liftIO $ setObjectPropertyObject obj "location" (Just val)

constructPlacesSidebarLocation :: (IsPlacesSidebar o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)
constructPlacesSidebarLocation val = constructObjectPropertyObject "location" (Just val)

clearPlacesSidebarLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m ()
clearPlacesSidebarLocation obj = liftIO $ setObjectPropertyObject obj "location" (Nothing :: Maybe Gio.File.File)

data PlacesSidebarLocationPropertyInfo
instance AttrInfo PlacesSidebarLocationPropertyInfo where
    type AttrAllowedOps PlacesSidebarLocationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint PlacesSidebarLocationPropertyInfo = Gio.File.IsFile
    type AttrBaseTypeConstraint PlacesSidebarLocationPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarLocationPropertyInfo = (Maybe Gio.File.File)
    type AttrLabel PlacesSidebarLocationPropertyInfo = "location"
    type AttrOrigin PlacesSidebarLocationPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarLocation
    attrSet _ = setPlacesSidebarLocation
    attrConstruct _ = constructPlacesSidebarLocation
    attrClear _ = clearPlacesSidebarLocation

-- VVV Prop "open-flags"
   -- Type: TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarOpenFlags :: (MonadIO m, IsPlacesSidebar o) => o -> m [Gtk.Flags.PlacesOpenFlags]
getPlacesSidebarOpenFlags obj = liftIO $ getObjectPropertyFlags obj "open-flags"

setPlacesSidebarOpenFlags :: (MonadIO m, IsPlacesSidebar o) => o -> [Gtk.Flags.PlacesOpenFlags] -> m ()
setPlacesSidebarOpenFlags obj val = liftIO $ setObjectPropertyFlags obj "open-flags" val

constructPlacesSidebarOpenFlags :: (IsPlacesSidebar o) => [Gtk.Flags.PlacesOpenFlags] -> IO (GValueConstruct o)
constructPlacesSidebarOpenFlags val = constructObjectPropertyFlags "open-flags" val

data PlacesSidebarOpenFlagsPropertyInfo
instance AttrInfo PlacesSidebarOpenFlagsPropertyInfo where
    type AttrAllowedOps PlacesSidebarOpenFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarOpenFlagsPropertyInfo = (~) [Gtk.Flags.PlacesOpenFlags]
    type AttrBaseTypeConstraint PlacesSidebarOpenFlagsPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarOpenFlagsPropertyInfo = [Gtk.Flags.PlacesOpenFlags]
    type AttrLabel PlacesSidebarOpenFlagsPropertyInfo = "open-flags"
    type AttrOrigin PlacesSidebarOpenFlagsPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarOpenFlags
    attrSet _ = setPlacesSidebarOpenFlags
    attrConstruct _ = constructPlacesSidebarOpenFlags
    attrClear _ = undefined

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

getPlacesSidebarPopulateAll :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarPopulateAll obj = liftIO $ getObjectPropertyBool obj "populate-all"

setPlacesSidebarPopulateAll :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarPopulateAll obj val = liftIO $ setObjectPropertyBool obj "populate-all" val

constructPlacesSidebarPopulateAll :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarPopulateAll val = constructObjectPropertyBool "populate-all" val

data PlacesSidebarPopulateAllPropertyInfo
instance AttrInfo PlacesSidebarPopulateAllPropertyInfo where
    type AttrAllowedOps PlacesSidebarPopulateAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarPopulateAllPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarPopulateAllPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarPopulateAllPropertyInfo = Bool
    type AttrLabel PlacesSidebarPopulateAllPropertyInfo = "populate-all"
    type AttrOrigin PlacesSidebarPopulateAllPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarPopulateAll
    attrSet _ = setPlacesSidebarPopulateAll
    attrConstruct _ = constructPlacesSidebarPopulateAll
    attrClear _ = undefined

-- VVV Prop "show-connect-to-server"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarShowConnectToServer :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarShowConnectToServer obj = liftIO $ getObjectPropertyBool obj "show-connect-to-server"

setPlacesSidebarShowConnectToServer :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarShowConnectToServer obj val = liftIO $ setObjectPropertyBool obj "show-connect-to-server" val

constructPlacesSidebarShowConnectToServer :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarShowConnectToServer val = constructObjectPropertyBool "show-connect-to-server" val

data PlacesSidebarShowConnectToServerPropertyInfo
instance AttrInfo PlacesSidebarShowConnectToServerPropertyInfo where
    type AttrAllowedOps PlacesSidebarShowConnectToServerPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarShowConnectToServerPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarShowConnectToServerPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarShowConnectToServerPropertyInfo = Bool
    type AttrLabel PlacesSidebarShowConnectToServerPropertyInfo = "show-connect-to-server"
    type AttrOrigin PlacesSidebarShowConnectToServerPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarShowConnectToServer
    attrSet _ = setPlacesSidebarShowConnectToServer
    attrConstruct _ = constructPlacesSidebarShowConnectToServer
    attrClear _ = undefined

-- VVV Prop "show-desktop"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarShowDesktop :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarShowDesktop obj = liftIO $ getObjectPropertyBool obj "show-desktop"

setPlacesSidebarShowDesktop :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarShowDesktop obj val = liftIO $ setObjectPropertyBool obj "show-desktop" val

constructPlacesSidebarShowDesktop :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarShowDesktop val = constructObjectPropertyBool "show-desktop" val

data PlacesSidebarShowDesktopPropertyInfo
instance AttrInfo PlacesSidebarShowDesktopPropertyInfo where
    type AttrAllowedOps PlacesSidebarShowDesktopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarShowDesktopPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarShowDesktopPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarShowDesktopPropertyInfo = Bool
    type AttrLabel PlacesSidebarShowDesktopPropertyInfo = "show-desktop"
    type AttrOrigin PlacesSidebarShowDesktopPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarShowDesktop
    attrSet _ = setPlacesSidebarShowDesktop
    attrConstruct _ = constructPlacesSidebarShowDesktop
    attrClear _ = undefined

-- VVV Prop "show-enter-location"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarShowEnterLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarShowEnterLocation obj = liftIO $ getObjectPropertyBool obj "show-enter-location"

setPlacesSidebarShowEnterLocation :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarShowEnterLocation obj val = liftIO $ setObjectPropertyBool obj "show-enter-location" val

constructPlacesSidebarShowEnterLocation :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarShowEnterLocation val = constructObjectPropertyBool "show-enter-location" val

data PlacesSidebarShowEnterLocationPropertyInfo
instance AttrInfo PlacesSidebarShowEnterLocationPropertyInfo where
    type AttrAllowedOps PlacesSidebarShowEnterLocationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarShowEnterLocationPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarShowEnterLocationPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarShowEnterLocationPropertyInfo = Bool
    type AttrLabel PlacesSidebarShowEnterLocationPropertyInfo = "show-enter-location"
    type AttrOrigin PlacesSidebarShowEnterLocationPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarShowEnterLocation
    attrSet _ = setPlacesSidebarShowEnterLocation
    attrConstruct _ = constructPlacesSidebarShowEnterLocation
    attrClear _ = undefined

-- VVV Prop "show-other-locations"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarShowOtherLocations :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarShowOtherLocations obj = liftIO $ getObjectPropertyBool obj "show-other-locations"

setPlacesSidebarShowOtherLocations :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarShowOtherLocations obj val = liftIO $ setObjectPropertyBool obj "show-other-locations" val

constructPlacesSidebarShowOtherLocations :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarShowOtherLocations val = constructObjectPropertyBool "show-other-locations" val

data PlacesSidebarShowOtherLocationsPropertyInfo
instance AttrInfo PlacesSidebarShowOtherLocationsPropertyInfo where
    type AttrAllowedOps PlacesSidebarShowOtherLocationsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarShowOtherLocationsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarShowOtherLocationsPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarShowOtherLocationsPropertyInfo = Bool
    type AttrLabel PlacesSidebarShowOtherLocationsPropertyInfo = "show-other-locations"
    type AttrOrigin PlacesSidebarShowOtherLocationsPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarShowOtherLocations
    attrSet _ = setPlacesSidebarShowOtherLocations
    attrConstruct _ = constructPlacesSidebarShowOtherLocations
    attrClear _ = undefined

-- VVV Prop "show-recent"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarShowRecent :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarShowRecent obj = liftIO $ getObjectPropertyBool obj "show-recent"

setPlacesSidebarShowRecent :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarShowRecent obj val = liftIO $ setObjectPropertyBool obj "show-recent" val

constructPlacesSidebarShowRecent :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarShowRecent val = constructObjectPropertyBool "show-recent" val

data PlacesSidebarShowRecentPropertyInfo
instance AttrInfo PlacesSidebarShowRecentPropertyInfo where
    type AttrAllowedOps PlacesSidebarShowRecentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarShowRecentPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarShowRecentPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarShowRecentPropertyInfo = Bool
    type AttrLabel PlacesSidebarShowRecentPropertyInfo = "show-recent"
    type AttrOrigin PlacesSidebarShowRecentPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarShowRecent
    attrSet _ = setPlacesSidebarShowRecent
    attrConstruct _ = constructPlacesSidebarShowRecent
    attrClear _ = undefined

-- VVV Prop "show-trash"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getPlacesSidebarShowTrash :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
getPlacesSidebarShowTrash obj = liftIO $ getObjectPropertyBool obj "show-trash"

setPlacesSidebarShowTrash :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
setPlacesSidebarShowTrash obj val = liftIO $ setObjectPropertyBool obj "show-trash" val

constructPlacesSidebarShowTrash :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
constructPlacesSidebarShowTrash val = constructObjectPropertyBool "show-trash" val

data PlacesSidebarShowTrashPropertyInfo
instance AttrInfo PlacesSidebarShowTrashPropertyInfo where
    type AttrAllowedOps PlacesSidebarShowTrashPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint PlacesSidebarShowTrashPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint PlacesSidebarShowTrashPropertyInfo = IsPlacesSidebar
    type AttrGetType PlacesSidebarShowTrashPropertyInfo = Bool
    type AttrLabel PlacesSidebarShowTrashPropertyInfo = "show-trash"
    type AttrOrigin PlacesSidebarShowTrashPropertyInfo = PlacesSidebar
    attrGet _ = getPlacesSidebarShowTrash
    attrSet _ = setPlacesSidebarShowTrash
    attrConstruct _ = constructPlacesSidebarShowTrash
    attrClear _ = undefined

instance O.HasAttributeList PlacesSidebar
type instance O.AttributeList PlacesSidebar = PlacesSidebarAttributeList
type PlacesSidebarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.ScrolledWindow.ScrolledWindowHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollbarPolicy", Gtk.ScrolledWindow.ScrolledWindowHscrollbarPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("kineticScrolling", Gtk.ScrolledWindow.ScrolledWindowKineticScrollingPropertyInfo), '("localOnly", PlacesSidebarLocalOnlyPropertyInfo), '("location", PlacesSidebarLocationPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxContentHeight", Gtk.ScrolledWindow.ScrolledWindowMaxContentHeightPropertyInfo), '("maxContentWidth", Gtk.ScrolledWindow.ScrolledWindowMaxContentWidthPropertyInfo), '("minContentHeight", Gtk.ScrolledWindow.ScrolledWindowMinContentHeightPropertyInfo), '("minContentWidth", Gtk.ScrolledWindow.ScrolledWindowMinContentWidthPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("openFlags", PlacesSidebarOpenFlagsPropertyInfo), '("overlayScrolling", Gtk.ScrolledWindow.ScrolledWindowOverlayScrollingPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("populateAll", PlacesSidebarPopulateAllPropertyInfo), '("propagateNaturalHeight", Gtk.ScrolledWindow.ScrolledWindowPropagateNaturalHeightPropertyInfo), '("propagateNaturalWidth", Gtk.ScrolledWindow.ScrolledWindowPropagateNaturalWidthPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", Gtk.ScrolledWindow.ScrolledWindowShadowTypePropertyInfo), '("showConnectToServer", PlacesSidebarShowConnectToServerPropertyInfo), '("showDesktop", PlacesSidebarShowDesktopPropertyInfo), '("showEnterLocation", PlacesSidebarShowEnterLocationPropertyInfo), '("showOtherLocations", PlacesSidebarShowOtherLocationsPropertyInfo), '("showRecent", PlacesSidebarShowRecentPropertyInfo), '("showTrash", PlacesSidebarShowTrashPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.ScrolledWindow.ScrolledWindowVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollbarPolicy", Gtk.ScrolledWindow.ScrolledWindowVscrollbarPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPlacement", Gtk.ScrolledWindow.ScrolledWindowWindowPlacementPropertyInfo), '("windowPlacementSet", Gtk.ScrolledWindow.ScrolledWindowWindowPlacementSetPropertyInfo)] :: [(Symbol, *)])

placesSidebarLocalOnly :: AttrLabelProxy "localOnly"
placesSidebarLocalOnly = AttrLabelProxy

placesSidebarLocation :: AttrLabelProxy "location"
placesSidebarLocation = AttrLabelProxy

placesSidebarOpenFlags :: AttrLabelProxy "openFlags"
placesSidebarOpenFlags = AttrLabelProxy

placesSidebarPopulateAll :: AttrLabelProxy "populateAll"
placesSidebarPopulateAll = AttrLabelProxy

placesSidebarShowConnectToServer :: AttrLabelProxy "showConnectToServer"
placesSidebarShowConnectToServer = AttrLabelProxy

placesSidebarShowDesktop :: AttrLabelProxy "showDesktop"
placesSidebarShowDesktop = AttrLabelProxy

placesSidebarShowEnterLocation :: AttrLabelProxy "showEnterLocation"
placesSidebarShowEnterLocation = AttrLabelProxy

placesSidebarShowOtherLocations :: AttrLabelProxy "showOtherLocations"
placesSidebarShowOtherLocations = AttrLabelProxy

placesSidebarShowRecent :: AttrLabelProxy "showRecent"
placesSidebarShowRecent = AttrLabelProxy

placesSidebarShowTrash :: AttrLabelProxy "showTrash"
placesSidebarShowTrash = AttrLabelProxy

data PlacesSidebarDragActionAskSignalInfo
instance SignalInfo PlacesSidebarDragActionAskSignalInfo where
    type HaskellCallbackType PlacesSidebarDragActionAskSignalInfo = PlacesSidebarDragActionAskCallback
    connectSignal _ = connectPlacesSidebarDragActionAsk

data PlacesSidebarDragActionRequestedSignalInfo
instance SignalInfo PlacesSidebarDragActionRequestedSignalInfo where
    type HaskellCallbackType PlacesSidebarDragActionRequestedSignalInfo = PlacesSidebarDragActionRequestedCallback
    connectSignal _ = connectPlacesSidebarDragActionRequested

data PlacesSidebarDragPerformDropSignalInfo
instance SignalInfo PlacesSidebarDragPerformDropSignalInfo where
    type HaskellCallbackType PlacesSidebarDragPerformDropSignalInfo = PlacesSidebarDragPerformDropCallback
    connectSignal _ = connectPlacesSidebarDragPerformDrop

data PlacesSidebarMountSignalInfo
instance SignalInfo PlacesSidebarMountSignalInfo where
    type HaskellCallbackType PlacesSidebarMountSignalInfo = PlacesSidebarMountCallback
    connectSignal _ = connectPlacesSidebarMount

data PlacesSidebarOpenLocationSignalInfo
instance SignalInfo PlacesSidebarOpenLocationSignalInfo where
    type HaskellCallbackType PlacesSidebarOpenLocationSignalInfo = PlacesSidebarOpenLocationCallback
    connectSignal _ = connectPlacesSidebarOpenLocation

data PlacesSidebarPopulatePopupSignalInfo
instance SignalInfo PlacesSidebarPopulatePopupSignalInfo where
    type HaskellCallbackType PlacesSidebarPopulatePopupSignalInfo = PlacesSidebarPopulatePopupCallback
    connectSignal _ = connectPlacesSidebarPopulatePopup

data PlacesSidebarShowConnectToServerSignalInfo
instance SignalInfo PlacesSidebarShowConnectToServerSignalInfo where
    type HaskellCallbackType PlacesSidebarShowConnectToServerSignalInfo = PlacesSidebarShowConnectToServerCallback
    connectSignal _ = connectPlacesSidebarShowConnectToServer

data PlacesSidebarShowEnterLocationSignalInfo
instance SignalInfo PlacesSidebarShowEnterLocationSignalInfo where
    type HaskellCallbackType PlacesSidebarShowEnterLocationSignalInfo = PlacesSidebarShowEnterLocationCallback
    connectSignal _ = connectPlacesSidebarShowEnterLocation

data PlacesSidebarShowErrorMessageSignalInfo
instance SignalInfo PlacesSidebarShowErrorMessageSignalInfo where
    type HaskellCallbackType PlacesSidebarShowErrorMessageSignalInfo = PlacesSidebarShowErrorMessageCallback
    connectSignal _ = connectPlacesSidebarShowErrorMessage

data PlacesSidebarShowOtherLocationsSignalInfo
instance SignalInfo PlacesSidebarShowOtherLocationsSignalInfo where
    type HaskellCallbackType PlacesSidebarShowOtherLocationsSignalInfo = PlacesSidebarShowOtherLocationsCallback
    connectSignal _ = connectPlacesSidebarShowOtherLocations

data PlacesSidebarShowOtherLocationsWithFlagsSignalInfo
instance SignalInfo PlacesSidebarShowOtherLocationsWithFlagsSignalInfo where
    type HaskellCallbackType PlacesSidebarShowOtherLocationsWithFlagsSignalInfo = PlacesSidebarShowOtherLocationsWithFlagsCallback
    connectSignal _ = connectPlacesSidebarShowOtherLocationsWithFlags

data PlacesSidebarUnmountSignalInfo
instance SignalInfo PlacesSidebarUnmountSignalInfo where
    type HaskellCallbackType PlacesSidebarUnmountSignalInfo = PlacesSidebarUnmountCallback
    connectSignal _ = connectPlacesSidebarUnmount

type instance O.SignalList PlacesSidebar = PlacesSidebarSignalList
type PlacesSidebarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragActionAsk", PlacesSidebarDragActionAskSignalInfo), '("dragActionRequested", PlacesSidebarDragActionRequestedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("dragPerformDrop", PlacesSidebarDragPerformDropSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("edgeOvershot", Gtk.ScrolledWindow.ScrolledWindowEdgeOvershotSignalInfo), '("edgeReached", Gtk.ScrolledWindow.ScrolledWindowEdgeReachedSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("mount", PlacesSidebarMountSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveFocusOut", Gtk.ScrolledWindow.ScrolledWindowMoveFocusOutSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("openLocation", PlacesSidebarOpenLocationSignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("populatePopup", PlacesSidebarPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollChild", Gtk.ScrolledWindow.ScrolledWindowScrollChildSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showConnectToServer", PlacesSidebarShowConnectToServerSignalInfo), '("showEnterLocation", PlacesSidebarShowEnterLocationSignalInfo), '("showErrorMessage", PlacesSidebarShowErrorMessageSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("showOtherLocations", PlacesSidebarShowOtherLocationsSignalInfo), '("showOtherLocationsWithFlags", PlacesSidebarShowOtherLocationsWithFlagsSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unmount", PlacesSidebarUnmountSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])

-- method PlacesSidebar::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_new" gtk_places_sidebar_new :: 
    IO (Ptr PlacesSidebar)

{- |
Creates a new 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' widget.

The application should connect to at least the
'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal to be notified
when the user makes a selection in the sidebar.

@since 3.10
-}
placesSidebarNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m PlacesSidebar
    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' -}
placesSidebarNew  = liftIO $ do
    result <- gtk_places_sidebar_new
    checkUnexpectedReturnNULL "placesSidebarNew" result
    result' <- (newObject PlacesSidebar) result
    return result'

-- method PlacesSidebar::add_shortcut
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to add as an application-specific shortcut", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_add_shortcut" gtk_places_sidebar_add_shortcut :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    Ptr Gio.File.File ->                    -- location : TInterface (Name {namespace = "Gio", name = "File"})
    IO ()

{- |
Applications may want to present some folders in the places sidebar if
they could be immediately useful to users.  For example, a drawing
program could add a “\/usr\/share\/clipart” location when the sidebar is
being used in an “Insert Clipart” dialog box.

This function adds the specified /@location@/ to a special place for immutable
shortcuts.  The shortcuts are application-specific; they are not shared
across applications, and they are not persistent.  If this function
is called multiple times with different locations, then they are added
to the sidebar’s list in the same order as the function is called.

@since 3.10
-}
placesSidebarAddShortcut ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> b
    {- ^ /@location@/: location to add as an application-specific shortcut -}
    -> m ()
placesSidebarAddShortcut sidebar location = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    location' <- unsafeManagedPtrCastPtr location
    gtk_places_sidebar_add_shortcut sidebar' location'
    touchManagedPtr sidebar
    touchManagedPtr location
    return ()

data PlacesSidebarAddShortcutMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) => O.MethodInfo PlacesSidebarAddShortcutMethodInfo a signature where
    overloadedMethod _ = placesSidebarAddShortcut

-- method PlacesSidebar::get_local_only
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_local_only" gtk_places_sidebar_get_local_only :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetLocalOnly'.

@since 3.12
-}
placesSidebarGetLocalOnly ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will only show local files. -}
placesSidebarGetLocalOnly sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_local_only sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetLocalOnlyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetLocalOnlyMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetLocalOnly

-- method PlacesSidebar::get_location
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_location" gtk_places_sidebar_get_location :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO (Ptr Gio.File.File)

{- |
Gets the currently-selected location in the /@sidebar@/.  This can be @/NULL/@ when
nothing is selected, for example, when 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetLocation' has
been called with a location that is not among the sidebar’s list of places to
show.

You can use this function to get the selection in the /@sidebar@/.  Also, if you
connect to the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/populate-popup/@ signal, you can use this
function to get the location that is being referred to during the callbacks
for your menu items.

@since 3.10
-}
placesSidebarGetLocation ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m (Maybe Gio.File.File)
    {- ^ __Returns:__ a GFile with the selected location, or
'Nothing' if nothing is visually selected. -}
placesSidebarGetLocation sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_location sidebar'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (wrapObject Gio.File.File) result'
        return result''
    touchManagedPtr sidebar
    return maybeResult

data PlacesSidebarGetLocationMethodInfo
instance (signature ~ (m (Maybe Gio.File.File)), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetLocationMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetLocation

-- method PlacesSidebar::get_nth_bookmark
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the bookmark to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_nth_bookmark" gtk_places_sidebar_get_nth_bookmark :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    Int32 ->                                -- n : TBasicType TInt
    IO (Ptr Gio.File.File)

{- |
This function queries the bookmarks added by the user to the places sidebar,
and returns one of them.  This function is used by 'GI.Gtk.Interfaces.FileChooser.FileChooser' to implement
the “Alt-1”, “Alt-2”, etc. shortcuts, which activate the cooresponding bookmark.

@since 3.10
-}
placesSidebarGetNthBookmark ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Int32
    {- ^ /@n@/: index of the bookmark to query -}
    -> m (Maybe Gio.File.File)
    {- ^ __Returns:__ The bookmark specified by the index /@n@/, or
'Nothing' if no such index exist.  Note that the indices start at 0, even though
the file chooser starts them with the keyboard shortcut \"Alt-1\". -}
placesSidebarGetNthBookmark sidebar n = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_nth_bookmark sidebar' n
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (wrapObject Gio.File.File) result'
        return result''
    touchManagedPtr sidebar
    return maybeResult

data PlacesSidebarGetNthBookmarkMethodInfo
instance (signature ~ (Int32 -> m (Maybe Gio.File.File)), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetNthBookmarkMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetNthBookmark

-- method PlacesSidebar::get_open_flags
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlacesSidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_open_flags" gtk_places_sidebar_get_open_flags :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CUInt

{- |
Gets the open flags.

@since 3.10
-}
placesSidebarGetOpenFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' -}
    -> m [Gtk.Flags.PlacesOpenFlags]
    {- ^ __Returns:__ the 'GI.Gtk.Flags.PlacesOpenFlags' of /@sidebar@/ -}
placesSidebarGetOpenFlags sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_open_flags sidebar'
    let result' = wordToGFlags result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetOpenFlagsMethodInfo
instance (signature ~ (m [Gtk.Flags.PlacesOpenFlags]), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetOpenFlagsMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetOpenFlags

-- method PlacesSidebar::get_show_connect_to_server
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_show_connect_to_server" gtk_places_sidebar_get_show_connect_to_server :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{-# DEPRECATED placesSidebarGetShowConnectToServer ["(Since version 3.18)","It is recommended to group this functionality with the drives","    and network location under the new \\'Other Location\\' item"] #-}
{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowConnectToServer'
-}
placesSidebarGetShowConnectToServer ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will display a “Connect to Server” item. -}
placesSidebarGetShowConnectToServer sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_show_connect_to_server sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetShowConnectToServerMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowConnectToServerMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetShowConnectToServer

-- method PlacesSidebar::get_show_desktop
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_show_desktop" gtk_places_sidebar_get_show_desktop :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowDesktop'

@since 3.10
-}
placesSidebarGetShowDesktop ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will display a builtin shortcut to the desktop folder. -}
placesSidebarGetShowDesktop sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_show_desktop sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetShowDesktopMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowDesktopMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetShowDesktop

-- method PlacesSidebar::get_show_enter_location
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_show_enter_location" gtk_places_sidebar_get_show_enter_location :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowEnterLocation'

@since 3.14
-}
placesSidebarGetShowEnterLocation ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will display an “Enter Location” item. -}
placesSidebarGetShowEnterLocation sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_show_enter_location sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetShowEnterLocationMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowEnterLocationMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetShowEnterLocation

-- method PlacesSidebar::get_show_other_locations
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_show_other_locations" gtk_places_sidebar_get_show_other_locations :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowOtherLocations'

@since 3.18
-}
placesSidebarGetShowOtherLocations ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will display an “Other Locations” item. -}
placesSidebarGetShowOtherLocations sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_show_other_locations sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetShowOtherLocationsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowOtherLocationsMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetShowOtherLocations

-- method PlacesSidebar::get_show_recent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_show_recent" gtk_places_sidebar_get_show_recent :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowRecent'

@since 3.18
-}
placesSidebarGetShowRecent ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will display a builtin shortcut for recent files -}
placesSidebarGetShowRecent sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_show_recent sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetShowRecentMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowRecentMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetShowRecent

-- method PlacesSidebar::get_show_trash
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_get_show_trash" gtk_places_sidebar_get_show_trash :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO CInt

{- |
Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowTrash'

@since 3.18
-}
placesSidebarGetShowTrash ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the sidebar will display a “Trash” item. -}
placesSidebarGetShowTrash sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_get_show_trash sidebar'
    let result' = (/= 0) result
    touchManagedPtr sidebar
    return result'

data PlacesSidebarGetShowTrashMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowTrashMethodInfo a signature where
    overloadedMethod _ = placesSidebarGetShowTrash

-- method PlacesSidebar::list_shortcuts
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TGSList (TInterface (Name {namespace = "Gio", name = "File"})))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_list_shortcuts" gtk_places_sidebar_list_shortcuts :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    IO (Ptr (GSList (Ptr Gio.File.File)))

{- |
Gets the list of shortcuts.

@since 3.10
-}
placesSidebarListShortcuts ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> m [Gio.File.File]
    {- ^ __Returns:__ 
    A 'GI.GLib.Structs.SList.SList' of 'GI.Gio.Interfaces.File.File' of the locations that have been added as
    application-specific shortcuts with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarAddShortcut'.
    To free this list, you can use

=== /C code/
>
>g_slist_free_full (list, (GDestroyNotify) g_object_unref);
 -}
placesSidebarListShortcuts sidebar = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    result <- gtk_places_sidebar_list_shortcuts sidebar'
    result' <- unpackGSList result
    result'' <- mapM (wrapObject Gio.File.File) result'
    g_slist_free result
    touchManagedPtr sidebar
    return result''

data PlacesSidebarListShortcutsMethodInfo
instance (signature ~ (m [Gio.File.File]), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarListShortcutsMethodInfo a signature where
    overloadedMethod _ = placesSidebarListShortcuts

-- method PlacesSidebar::remove_shortcut
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_remove_shortcut" gtk_places_sidebar_remove_shortcut :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    Ptr Gio.File.File ->                    -- location : TInterface (Name {namespace = "Gio", name = "File"})
    IO ()

{- |
Removes an application-specific shortcut that has been previously been
inserted with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarAddShortcut'.  If the /@location@/ is not a
shortcut in the sidebar, then nothing is done.

@since 3.10
-}
placesSidebarRemoveShortcut ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> b
    {- ^ /@location@/: location to remove -}
    -> m ()
placesSidebarRemoveShortcut sidebar location = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    location' <- unsafeManagedPtrCastPtr location
    gtk_places_sidebar_remove_shortcut sidebar' location'
    touchManagedPtr sidebar
    touchManagedPtr location
    return ()

data PlacesSidebarRemoveShortcutMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) => O.MethodInfo PlacesSidebarRemoveShortcutMethodInfo a signature where
    overloadedMethod _ = placesSidebarRemoveShortcut

-- method PlacesSidebar::set_drop_targets_visible
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show the valid targets or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "drag context used to ask the source about the action that wants to\n    perform, so hints are more accurate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_drop_targets_visible" gtk_places_sidebar_set_drop_targets_visible :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- visible : TBasicType TBoolean
    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
    IO ()

{- |
Make the GtkPlacesSidebar show drop targets, so it can show the available
drop targets and a \"new bookmark\" row. This improves the Drag-and-Drop
experience of the user and allows applications to show all available
drop targets at once.

This needs to be called when the application is aware of an ongoing drag
that might target the sidebar. The drop-targets-visible state will be unset
automatically if the drag finishes in the GtkPlacesSidebar. You only need
to unset the state when the drag ends on some other widget on your application.

@since 3.18
-}
placesSidebarSetDropTargetsVisible ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gdk.DragContext.IsDragContext b) =>
    a
    {- ^ /@sidebar@/: a places sidebar. -}
    -> Bool
    {- ^ /@visible@/: whether to show the valid targets or not. -}
    -> b
    {- ^ /@context@/: drag context used to ask the source about the action that wants to
    perform, so hints are more accurate. -}
    -> m ()
placesSidebarSetDropTargetsVisible sidebar visible context = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let visible' = (fromIntegral . fromEnum) visible
    context' <- unsafeManagedPtrCastPtr context
    gtk_places_sidebar_set_drop_targets_visible sidebar' visible' context'
    touchManagedPtr sidebar
    touchManagedPtr context
    return ()

data PlacesSidebarSetDropTargetsVisibleMethodInfo
instance (signature ~ (Bool -> b -> m ()), MonadIO m, IsPlacesSidebar a, Gdk.DragContext.IsDragContext b) => O.MethodInfo PlacesSidebarSetDropTargetsVisibleMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetDropTargetsVisible

-- method PlacesSidebar::set_local_only
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "local_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show only local files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_local_only" gtk_places_sidebar_set_local_only :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- local_only : TBasicType TBoolean
    IO ()

{- |
Sets whether the /@sidebar@/ should only show local files.

@since 3.12
-}
placesSidebarSetLocalOnly ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@localOnly@/: whether to show only local files -}
    -> m ()
placesSidebarSetLocalOnly sidebar localOnly = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let localOnly' = (fromIntegral . fromEnum) localOnly
    gtk_places_sidebar_set_local_only sidebar' localOnly'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetLocalOnlyMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetLocalOnlyMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetLocalOnly

-- method PlacesSidebar::set_location
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location to select, or #NULL for no current path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_location" gtk_places_sidebar_set_location :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    Ptr Gio.File.File ->                    -- location : TInterface (Name {namespace = "Gio", name = "File"})
    IO ()

{- |
Sets the location that is being shown in the widgets surrounding the
/@sidebar@/, for example, in a folder view in a file manager.  In turn, the
/@sidebar@/ will highlight that location if it is being shown in the list of
places, or it will unhighlight everything if the /@location@/ is not among the
places in the list.

@since 3.10
-}
placesSidebarSetLocation ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Maybe (b)
    {- ^ /@location@/: location to select, or @/NULL/@ for no current path -}
    -> m ()
placesSidebarSetLocation sidebar location = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    maybeLocation <- case location of
        Nothing -> return nullPtr
        Just jLocation -> do
            jLocation' <- unsafeManagedPtrCastPtr jLocation
            return jLocation'
    gtk_places_sidebar_set_location sidebar' maybeLocation
    touchManagedPtr sidebar
    whenJust location touchManagedPtr
    return ()

data PlacesSidebarSetLocationMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) => O.MethodInfo PlacesSidebarSetLocationMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetLocation

-- method PlacesSidebar::set_open_flags
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Bitmask of modes in which the calling application can open locations", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_open_flags" gtk_places_sidebar_set_open_flags :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"})
    IO ()

{- |
Sets the way in which the calling application can open new locations from
the places sidebar.  For example, some applications only open locations
“directly” into their main view, while others may support opening locations
in a new notebook tab or a new window.

This function is used to tell the places /@sidebar@/ about the ways in which the
application can open new locations, so that the sidebar can display (or not)
the “Open in new tab” and “Open in new window” menu items as appropriate.

When the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal is emitted, its flags
argument will be set to one of the /@flags@/ that was passed in
'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetOpenFlags'.

Passing 0 for /@flags@/ will cause @/GTK_PLACES_OPEN_NORMAL/@ to always be sent
to callbacks for the “open-location” signal.

@since 3.10
-}
placesSidebarSetOpenFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> [Gtk.Flags.PlacesOpenFlags]
    {- ^ /@flags@/: Bitmask of modes in which the calling application can open locations -}
    -> m ()
placesSidebarSetOpenFlags sidebar flags = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let flags' = gflagsToWord flags
    gtk_places_sidebar_set_open_flags sidebar' flags'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetOpenFlagsMethodInfo
instance (signature ~ ([Gtk.Flags.PlacesOpenFlags] -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetOpenFlagsMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetOpenFlags

-- method PlacesSidebar::set_show_connect_to_server
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_connect_to_server", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Connect to Server command", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_show_connect_to_server" gtk_places_sidebar_set_show_connect_to_server :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- show_connect_to_server : TBasicType TBoolean
    IO ()

{-# DEPRECATED placesSidebarSetShowConnectToServer ["(Since version 3.18)","It is recommended to group this functionality with the drives","    and network location under the new \\'Other Location\\' item"] #-}
{- |
Sets whether the /@sidebar@/ should show an item for connecting to a network server;
this is off by default. An application may want to turn this on if it implements
a way for the user to connect to network servers directly.

If you enable this, you should connect to the
'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-connect-to-server/@ signal.

@since 3.10
-}
placesSidebarSetShowConnectToServer ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@showConnectToServer@/: whether to show an item for the Connect to Server command -}
    -> m ()
placesSidebarSetShowConnectToServer sidebar showConnectToServer = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let showConnectToServer' = (fromIntegral . fromEnum) showConnectToServer
    gtk_places_sidebar_set_show_connect_to_server sidebar' showConnectToServer'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetShowConnectToServerMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowConnectToServerMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetShowConnectToServer

-- method PlacesSidebar::set_show_desktop
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_desktop", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Desktop folder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_show_desktop" gtk_places_sidebar_set_show_desktop :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- show_desktop : TBasicType TBoolean
    IO ()

{- |
Sets whether the /@sidebar@/ should show an item for the Desktop folder.
The default value for this option is determined by the desktop
environment and the user’s configuration, but this function can be
used to override it on a per-application basis.

@since 3.10
-}
placesSidebarSetShowDesktop ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@showDesktop@/: whether to show an item for the Desktop folder -}
    -> m ()
placesSidebarSetShowDesktop sidebar showDesktop = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let showDesktop' = (fromIntegral . fromEnum) showDesktop
    gtk_places_sidebar_set_show_desktop sidebar' showDesktop'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetShowDesktopMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowDesktopMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetShowDesktop

-- method PlacesSidebar::set_show_enter_location
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_enter_location", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item to enter a location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_show_enter_location" gtk_places_sidebar_set_show_enter_location :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- show_enter_location : TBasicType TBoolean
    IO ()

{- |
Sets whether the /@sidebar@/ should show an item for entering a location;
this is off by default. An application may want to turn this on if manually
entering URLs is an expected user action.

If you enable this, you should connect to the
'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-enter-location/@ signal.

@since 3.14
-}
placesSidebarSetShowEnterLocation ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@showEnterLocation@/: whether to show an item to enter a location -}
    -> m ()
placesSidebarSetShowEnterLocation sidebar showEnterLocation = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let showEnterLocation' = (fromIntegral . fromEnum) showEnterLocation
    gtk_places_sidebar_set_show_enter_location sidebar' showEnterLocation'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetShowEnterLocationMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowEnterLocationMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetShowEnterLocation

-- method PlacesSidebar::set_show_other_locations
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_other_locations", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Other Locations view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_show_other_locations" gtk_places_sidebar_set_show_other_locations :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- show_other_locations : TBasicType TBoolean
    IO ()

{- |
Sets whether the /@sidebar@/ should show an item for the application to show
an Other Locations view; this is off by default. When set to 'True', persistent
devices such as hard drives are hidden, otherwise they are shown in the sidebar.
An application may want to turn this on if it implements a way for the user to
see and interact with drives and network servers directly.

If you enable this, you should connect to the
'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-other-locations/@ signal.

@since 3.18
-}
placesSidebarSetShowOtherLocations ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@showOtherLocations@/: whether to show an item for the Other Locations view -}
    -> m ()
placesSidebarSetShowOtherLocations sidebar showOtherLocations = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let showOtherLocations' = (fromIntegral . fromEnum) showOtherLocations
    gtk_places_sidebar_set_show_other_locations sidebar' showOtherLocations'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetShowOtherLocationsMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowOtherLocationsMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetShowOtherLocations

-- method PlacesSidebar::set_show_recent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_recent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for recent files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_show_recent" gtk_places_sidebar_set_show_recent :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- show_recent : TBasicType TBoolean
    IO ()

{- |
Sets whether the /@sidebar@/ should show an item for recent files.
The default value for this option is determined by the desktop
environment, but this function can be used to override it on a
per-application basis.

@since 3.18
-}
placesSidebarSetShowRecent ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@showRecent@/: whether to show an item for recent files -}
    -> m ()
placesSidebarSetShowRecent sidebar showRecent = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let showRecent' = (fromIntegral . fromEnum) showRecent
    gtk_places_sidebar_set_show_recent sidebar' showRecent'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetShowRecentMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowRecentMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetShowRecent

-- method PlacesSidebar::set_show_trash
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_trash", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Trash location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_places_sidebar_set_show_trash" gtk_places_sidebar_set_show_trash :: 
    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
    CInt ->                                 -- show_trash : TBasicType TBoolean
    IO ()

{- |
Sets whether the /@sidebar@/ should show an item for the Trash location.

@since 3.18
-}
placesSidebarSetShowTrash ::
    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
    a
    {- ^ /@sidebar@/: a places sidebar -}
    -> Bool
    {- ^ /@showTrash@/: whether to show an item for the Trash location -}
    -> m ()
placesSidebarSetShowTrash sidebar showTrash = liftIO $ do
    sidebar' <- unsafeManagedPtrCastPtr sidebar
    let showTrash' = (fromIntegral . fromEnum) showTrash
    gtk_places_sidebar_set_show_trash sidebar' showTrash'
    touchManagedPtr sidebar
    return ()

data PlacesSidebarSetShowTrashMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowTrashMethodInfo a signature where
    overloadedMethod _ = placesSidebarSetShowTrash