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

/No description available in the introspection data./
-}

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

module GI.Handy.Objects.ComboRow
    (

-- * Exported types
    ComboRow(..)                            ,
    IsComboRow                              ,
    toComboRow                              ,
    noComboRow                              ,


 -- * Methods
-- ** bindModel #method:bindModel#

#if ENABLE_OVERLOADING
    ComboRowBindModelMethodInfo             ,
#endif
    comboRowBindModel                       ,


-- ** bindNameModel #method:bindNameModel#

#if ENABLE_OVERLOADING
    ComboRowBindNameModelMethodInfo         ,
#endif
    comboRowBindNameModel                   ,


-- ** getModel #method:getModel#

#if ENABLE_OVERLOADING
    ComboRowGetModelMethodInfo              ,
#endif
    comboRowGetModel                        ,


-- ** getSelectedIndex #method:getSelectedIndex#

#if ENABLE_OVERLOADING
    ComboRowGetSelectedIndexMethodInfo      ,
#endif
    comboRowGetSelectedIndex                ,


-- ** new #method:new#

    comboRowNew                             ,


-- ** setForEnum #method:setForEnum#

#if ENABLE_OVERLOADING
    ComboRowSetForEnumMethodInfo            ,
#endif
    comboRowSetForEnum                      ,


-- ** setSelectedIndex #method:setSelectedIndex#

#if ENABLE_OVERLOADING
    ComboRowSetSelectedIndexMethodInfo      ,
#endif
    comboRowSetSelectedIndex                ,




 -- * Properties
-- ** selectedIndex #attr:selectedIndex#
{- | The index of the selected item in its 'GI.Gio.Interfaces.ListModel.ListModel'.

/Since: 0.0.7/
-}
#if ENABLE_OVERLOADING
    ComboRowSelectedIndexPropertyInfo       ,
#endif
#if ENABLE_OVERLOADING
    comboRowSelectedIndex                   ,
#endif
    constructComboRowSelectedIndex          ,
    getComboRowSelectedIndex                ,
    setComboRowSelectedIndex                ,




    ) where

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

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
import qualified GI.Gtk.Callbacks as Gtk.Callbacks
import qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Objects.Bin as Gtk.Bin
import qualified GI.Gtk.Objects.Container as Gtk.Container
import qualified GI.Gtk.Objects.ListBoxRow as Gtk.ListBoxRow
import qualified GI.Gtk.Objects.Widget as Gtk.Widget
import qualified GI.Handy.Callbacks as Handy.Callbacks
import {-# SOURCE #-} qualified GI.Handy.Objects.ActionRow as Handy.ActionRow

-- | Memory-managed wrapper type.
newtype ComboRow = ComboRow (ManagedPtr ComboRow)
foreign import ccall "hdy_combo_row_get_type"
    c_hdy_combo_row_get_type :: IO GType

instance GObject ComboRow where
    gobjectType = c_hdy_combo_row_get_type


-- | Type class for types which can be safely cast to `ComboRow`, for instance with `toComboRow`.
class (GObject o, O.IsDescendantOf ComboRow o) => IsComboRow o
instance (GObject o, O.IsDescendantOf ComboRow o) => IsComboRow o

instance O.HasParentTypes ComboRow
type instance O.ParentTypes ComboRow = '[Handy.ActionRow.ActionRow, Gtk.ListBoxRow.ListBoxRow, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Buildable.Buildable]

-- | Cast to `ComboRow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toComboRow :: (MonadIO m, IsComboRow o) => o -> m ComboRow
toComboRow = liftIO . unsafeCastTo ComboRow

-- | A convenience alias for `Nothing` :: `Maybe` `ComboRow`.
noComboRow :: Maybe ComboRow
noComboRow = Nothing

#if ENABLE_OVERLOADING
type family ResolveComboRowMethod (t :: Symbol) (o :: *) :: * where
    ResolveComboRowMethod "activate" o = Handy.ActionRow.ActionRowActivateMethodInfo
    ResolveComboRowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
    ResolveComboRowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
    ResolveComboRowMethod "addAction" o = Handy.ActionRow.ActionRowAddActionMethodInfo
    ResolveComboRowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolveComboRowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
    ResolveComboRowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
    ResolveComboRowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolveComboRowMethod "addPrefix" o = Handy.ActionRow.ActionRowAddPrefixMethodInfo
    ResolveComboRowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolveComboRowMethod "bindModel" o = ComboRowBindModelMethodInfo
    ResolveComboRowMethod "bindNameModel" o = ComboRowBindNameModelMethodInfo
    ResolveComboRowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveComboRowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveComboRowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
    ResolveComboRowMethod "changed" o = Gtk.ListBoxRow.ListBoxRowChangedMethodInfo
    ResolveComboRowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
    ResolveComboRowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolveComboRowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
    ResolveComboRowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
    ResolveComboRowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
    ResolveComboRowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
    ResolveComboRowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
    ResolveComboRowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
    ResolveComboRowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolveComboRowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolveComboRowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolveComboRowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolveComboRowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolveComboRowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolveComboRowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolveComboRowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
    ResolveComboRowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
    ResolveComboRowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolveComboRowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
    ResolveComboRowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
    ResolveComboRowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolveComboRowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
    ResolveComboRowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
    ResolveComboRowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
    ResolveComboRowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
    ResolveComboRowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
    ResolveComboRowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
    ResolveComboRowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
    ResolveComboRowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
    ResolveComboRowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
    ResolveComboRowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
    ResolveComboRowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
    ResolveComboRowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
    ResolveComboRowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
    ResolveComboRowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
    ResolveComboRowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
    ResolveComboRowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
    ResolveComboRowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
    ResolveComboRowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
    ResolveComboRowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
    ResolveComboRowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
    ResolveComboRowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
    ResolveComboRowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
    ResolveComboRowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
    ResolveComboRowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
    ResolveComboRowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
    ResolveComboRowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
    ResolveComboRowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
    ResolveComboRowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolveComboRowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
    ResolveComboRowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
    ResolveComboRowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveComboRowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
    ResolveComboRowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
    ResolveComboRowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveComboRowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveComboRowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
    ResolveComboRowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
    ResolveComboRowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolveComboRowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
    ResolveComboRowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolveComboRowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolveComboRowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
    ResolveComboRowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
    ResolveComboRowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
    ResolveComboRowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolveComboRowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolveComboRowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
    ResolveComboRowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolveComboRowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolveComboRowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
    ResolveComboRowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolveComboRowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
    ResolveComboRowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolveComboRowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
    ResolveComboRowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolveComboRowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveComboRowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolveComboRowMethod "isSelected" o = Gtk.ListBoxRow.ListBoxRowIsSelectedMethodInfo
    ResolveComboRowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolveComboRowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
    ResolveComboRowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolveComboRowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolveComboRowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
    ResolveComboRowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
    ResolveComboRowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolveComboRowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolveComboRowMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolveComboRowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
    ResolveComboRowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
    ResolveComboRowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
    ResolveComboRowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
    ResolveComboRowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
    ResolveComboRowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
    ResolveComboRowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
    ResolveComboRowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveComboRowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveComboRowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
    ResolveComboRowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
    ResolveComboRowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
    ResolveComboRowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
    ResolveComboRowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
    ResolveComboRowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolveComboRowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
    ResolveComboRowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
    ResolveComboRowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolveComboRowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
    ResolveComboRowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolveComboRowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
    ResolveComboRowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
    ResolveComboRowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolveComboRowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
    ResolveComboRowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolveComboRowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveComboRowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveComboRowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
    ResolveComboRowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
    ResolveComboRowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
    ResolveComboRowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
    ResolveComboRowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolveComboRowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolveComboRowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
    ResolveComboRowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
    ResolveComboRowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
    ResolveComboRowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
    ResolveComboRowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
    ResolveComboRowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
    ResolveComboRowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveComboRowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
    ResolveComboRowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
    ResolveComboRowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
    ResolveComboRowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolveComboRowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
    ResolveComboRowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
    ResolveComboRowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolveComboRowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
    ResolveComboRowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
    ResolveComboRowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveComboRowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveComboRowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
    ResolveComboRowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
    ResolveComboRowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
    ResolveComboRowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveComboRowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolveComboRowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolveComboRowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolveComboRowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolveComboRowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolveComboRowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveComboRowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
    ResolveComboRowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
    ResolveComboRowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolveComboRowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveComboRowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolveComboRowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
    ResolveComboRowMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
    ResolveComboRowMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
    ResolveComboRowMethod "getActivatable" o = Gtk.ListBoxRow.ListBoxRowGetActivatableMethodInfo
    ResolveComboRowMethod "getActivatableWidget" o = Handy.ActionRow.ActionRowGetActivatableWidgetMethodInfo
    ResolveComboRowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolveComboRowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolveComboRowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
    ResolveComboRowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolveComboRowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolveComboRowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolveComboRowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
    ResolveComboRowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
    ResolveComboRowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
    ResolveComboRowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolveComboRowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
    ResolveComboRowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
    ResolveComboRowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolveComboRowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
    ResolveComboRowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
    ResolveComboRowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolveComboRowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
    ResolveComboRowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveComboRowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
    ResolveComboRowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
    ResolveComboRowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolveComboRowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolveComboRowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
    ResolveComboRowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
    ResolveComboRowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
    ResolveComboRowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
    ResolveComboRowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
    ResolveComboRowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolveComboRowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
    ResolveComboRowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolveComboRowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolveComboRowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolveComboRowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolveComboRowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolveComboRowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
    ResolveComboRowMethod "getHeader" o = Gtk.ListBoxRow.ListBoxRowGetHeaderMethodInfo
    ResolveComboRowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolveComboRowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolveComboRowMethod "getIconName" o = Handy.ActionRow.ActionRowGetIconNameMethodInfo
    ResolveComboRowMethod "getIndex" o = Gtk.ListBoxRow.ListBoxRowGetIndexMethodInfo
    ResolveComboRowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolveComboRowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolveComboRowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolveComboRowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolveComboRowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
    ResolveComboRowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
    ResolveComboRowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolveComboRowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolveComboRowMethod "getModel" o = ComboRowGetModelMethodInfo
    ResolveComboRowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
    ResolveComboRowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
    ResolveComboRowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolveComboRowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
    ResolveComboRowMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolveComboRowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolveComboRowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolveComboRowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
    ResolveComboRowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
    ResolveComboRowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
    ResolveComboRowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
    ResolveComboRowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
    ResolveComboRowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
    ResolveComboRowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
    ResolveComboRowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolveComboRowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
    ResolveComboRowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
    ResolveComboRowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveComboRowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveComboRowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolveComboRowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolveComboRowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolveComboRowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
    ResolveComboRowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
    ResolveComboRowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
    ResolveComboRowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolveComboRowMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
    ResolveComboRowMethod "getSelectable" o = Gtk.ListBoxRow.ListBoxRowGetSelectableMethodInfo
    ResolveComboRowMethod "getSelectedIndex" o = ComboRowGetSelectedIndexMethodInfo
    ResolveComboRowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolveComboRowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolveComboRowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolveComboRowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
    ResolveComboRowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolveComboRowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
    ResolveComboRowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolveComboRowMethod "getSubtitle" o = Handy.ActionRow.ActionRowGetSubtitleMethodInfo
    ResolveComboRowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    ResolveComboRowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolveComboRowMethod "getTitle" o = Handy.ActionRow.ActionRowGetTitleMethodInfo
    ResolveComboRowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolveComboRowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolveComboRowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
    ResolveComboRowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
    ResolveComboRowMethod "getUseUnderline" o = Handy.ActionRow.ActionRowGetUseUnderlineMethodInfo
    ResolveComboRowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolveComboRowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
    ResolveComboRowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolveComboRowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolveComboRowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolveComboRowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
    ResolveComboRowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
    ResolveComboRowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
    ResolveComboRowMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
    ResolveComboRowMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
    ResolveComboRowMethod "setActivatable" o = Gtk.ListBoxRow.ListBoxRowSetActivatableMethodInfo
    ResolveComboRowMethod "setActivatableWidget" o = Handy.ActionRow.ActionRowSetActivatableWidgetMethodInfo
    ResolveComboRowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
    ResolveComboRowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
    ResolveComboRowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
    ResolveComboRowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolveComboRowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
    ResolveComboRowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolveComboRowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolveComboRowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
    ResolveComboRowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
    ResolveComboRowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveComboRowMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
    ResolveComboRowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
    ResolveComboRowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
    ResolveComboRowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolveComboRowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
    ResolveComboRowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
    ResolveComboRowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
    ResolveComboRowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
    ResolveComboRowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
    ResolveComboRowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolveComboRowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
    ResolveComboRowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolveComboRowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolveComboRowMethod "setForEnum" o = ComboRowSetForEnumMethodInfo
    ResolveComboRowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolveComboRowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolveComboRowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
    ResolveComboRowMethod "setHeader" o = Gtk.ListBoxRow.ListBoxRowSetHeaderMethodInfo
    ResolveComboRowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolveComboRowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolveComboRowMethod "setIconName" o = Handy.ActionRow.ActionRowSetIconNameMethodInfo
    ResolveComboRowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
    ResolveComboRowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolveComboRowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolveComboRowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
    ResolveComboRowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
    ResolveComboRowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolveComboRowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolveComboRowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolveComboRowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
    ResolveComboRowMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolveComboRowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolveComboRowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
    ResolveComboRowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveComboRowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
    ResolveComboRowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
    ResolveComboRowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolveComboRowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
    ResolveComboRowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
    ResolveComboRowMethod "setSelectable" o = Gtk.ListBoxRow.ListBoxRowSetSelectableMethodInfo
    ResolveComboRowMethod "setSelectedIndex" o = ComboRowSetSelectedIndexMethodInfo
    ResolveComboRowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolveComboRowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolveComboRowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
    ResolveComboRowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolveComboRowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
    ResolveComboRowMethod "setSubtitle" o = Handy.ActionRow.ActionRowSetSubtitleMethodInfo
    ResolveComboRowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolveComboRowMethod "setTitle" o = Handy.ActionRow.ActionRowSetTitleMethodInfo
    ResolveComboRowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolveComboRowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolveComboRowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
    ResolveComboRowMethod "setUseUnderline" o = Handy.ActionRow.ActionRowSetUseUnderlineMethodInfo
    ResolveComboRowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolveComboRowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolveComboRowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolveComboRowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolveComboRowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
    ResolveComboRowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
    ResolveComboRowMethod l o = O.MethodResolutionFailed l o

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

#endif

-- VVV Prop "selected-index"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@selected-index@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' comboRow #selectedIndex
@
-}
getComboRowSelectedIndex :: (MonadIO m, IsComboRow o) => o -> m Int32
getComboRowSelectedIndex obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "selected-index"

{- |
Set the value of the “@selected-index@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' comboRow [ #selectedIndex 'Data.GI.Base.Attributes.:=' value ]
@
-}
setComboRowSelectedIndex :: (MonadIO m, IsComboRow o) => o -> Int32 -> m ()
setComboRowSelectedIndex obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "selected-index" val

{- |
Construct a `GValueConstruct` with valid value for the “@selected-index@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructComboRowSelectedIndex :: (IsComboRow o) => Int32 -> IO (GValueConstruct o)
constructComboRowSelectedIndex val = B.Properties.constructObjectPropertyInt32 "selected-index" val

#if ENABLE_OVERLOADING
data ComboRowSelectedIndexPropertyInfo
instance AttrInfo ComboRowSelectedIndexPropertyInfo where
    type AttrAllowedOps ComboRowSelectedIndexPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ComboRowSelectedIndexPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint ComboRowSelectedIndexPropertyInfo = IsComboRow
    type AttrGetType ComboRowSelectedIndexPropertyInfo = Int32
    type AttrLabel ComboRowSelectedIndexPropertyInfo = "selected-index"
    type AttrOrigin ComboRowSelectedIndexPropertyInfo = ComboRow
    attrGet _ = getComboRowSelectedIndex
    attrSet _ = setComboRowSelectedIndex
    attrConstruct _ = constructComboRowSelectedIndex
    attrClear _ = undefined
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList ComboRow
type instance O.AttributeList ComboRow = ComboRowAttributeList
type ComboRowAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("activatable", Gtk.ListBoxRow.ListBoxRowActivatablePropertyInfo), '("activatableWidget", Handy.ActionRow.ActionRowActivatableWidgetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconName", Handy.ActionRow.ActionRowIconNamePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectable", Gtk.ListBoxRow.ListBoxRowSelectablePropertyInfo), '("selectedIndex", ComboRowSelectedIndexPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("subtitle", Handy.ActionRow.ActionRowSubtitlePropertyInfo), '("title", Handy.ActionRow.ActionRowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useUnderline", Handy.ActionRow.ActionRowUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
comboRowSelectedIndex :: AttrLabelProxy "selectedIndex"
comboRowSelectedIndex = AttrLabelProxy

#endif

#if ENABLE_OVERLOADING
type instance O.SignalList ComboRow = ComboRowSignalList
type ComboRowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.ListBoxRow.ListBoxRowActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])

#endif

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

foreign import ccall "hdy_combo_row_new" hdy_combo_row_new ::
    IO (Ptr ComboRow)

{- |
Creates a new 'GI.Handy.Objects.ComboRow.ComboRow'.

/Since: 0.0.6/
-}
comboRowNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m ComboRow
    {- ^ __Returns:__ a new 'GI.Handy.Objects.ComboRow.ComboRow' -}
comboRowNew  = liftIO $ do
    result <- hdy_combo_row_new
    checkUnexpectedReturnNULL "comboRowNew" result
    result' <- (newObject ComboRow) result
    return result'

#if ENABLE_OVERLOADING
#endif

-- method ComboRow::bind_model
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Handy", name = "ComboRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #HdyComboRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "ListModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GListModel to be bound to @self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_list_widget_func", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxCreateWidgetFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function that creates\n  widgets for items to display in the list, or %NULL in case you also passed\n  %NULL as @model", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_current_widget_func", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxCreateWidgetFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function that creates\n  widgets for items to display as the seleted item, or %NULL in case you also\n  passed %NULL as @model", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @create_list_widget_func and\n  @create_current_widget_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function for freeing @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_combo_row_bind_model" hdy_combo_row_bind_model ::
    Ptr ComboRow ->                         -- self : TInterface (Name {namespace = "Handy", name = "ComboRow"})
    Ptr Gio.ListModel.ListModel ->          -- model : TInterface (Name {namespace = "Gio", name = "ListModel"})
    FunPtr Gtk.Callbacks.C_ListBoxCreateWidgetFunc -> -- create_list_widget_func : TInterface (Name {namespace = "Gtk", name = "ListBoxCreateWidgetFunc"})
    FunPtr Gtk.Callbacks.C_ListBoxCreateWidgetFunc -> -- create_current_widget_func : TInterface (Name {namespace = "Gtk", name = "ListBoxCreateWidgetFunc"})
    Ptr () ->                               -- user_data : TBasicType TPtr
    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
    IO ()

{- |
Binds /@model@/ to /@self@/.

If /@self@/ was already bound to a model, that previous binding is destroyed.

The contents of /@self@/ are cleared and then filled with widgets that represent
items from /@model@/. /@self@/ is updated whenever /@model@/ changes. If /@model@/ is
'Nothing', /@self@/ is left empty.

/Since: 0.0.6/
-}
comboRowBindModel ::
    (B.CallStack.HasCallStack, MonadIO m, IsComboRow a, Gio.ListModel.IsListModel b) =>
    a
    {- ^ /@self@/: a 'GI.Handy.Objects.ComboRow.ComboRow' -}
    -> Maybe (b)
    {- ^ /@model@/: the 'GI.Gio.Interfaces.ListModel.ListModel' to be bound to /@self@/ -}
    -> Maybe (Gtk.Callbacks.ListBoxCreateWidgetFunc)
    {- ^ /@createListWidgetFunc@/: a function that creates
  widgets for items to display in the list, or 'Nothing' in case you also passed
  'Nothing' as /@model@/ -}
    -> Maybe (Gtk.Callbacks.ListBoxCreateWidgetFunc)
    {- ^ /@createCurrentWidgetFunc@/: a function that creates
  widgets for items to display as the seleted item, or 'Nothing' in case you also
  passed 'Nothing' as /@model@/ -}
    -> m ()
comboRowBindModel self model createListWidgetFunc createCurrentWidgetFunc = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    maybeModel <- case model of
        Nothing -> return nullPtr
        Just jModel -> do
            jModel' <- unsafeManagedPtrCastPtr jModel
            return jModel'
    maybeCreateListWidgetFunc <- case createListWidgetFunc of
        Nothing -> return (castPtrToFunPtr nullPtr)
        Just jCreateListWidgetFunc -> do
            jCreateListWidgetFunc' <- Gtk.Callbacks.mk_ListBoxCreateWidgetFunc (Gtk.Callbacks.wrap_ListBoxCreateWidgetFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxCreateWidgetFunc jCreateListWidgetFunc))
            return jCreateListWidgetFunc'
    maybeCreateCurrentWidgetFunc <- case createCurrentWidgetFunc of
        Nothing -> return (castPtrToFunPtr nullPtr)
        Just jCreateCurrentWidgetFunc -> do
            jCreateCurrentWidgetFunc' <- Gtk.Callbacks.mk_ListBoxCreateWidgetFunc (Gtk.Callbacks.wrap_ListBoxCreateWidgetFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxCreateWidgetFunc jCreateCurrentWidgetFunc))
            return jCreateCurrentWidgetFunc'
    let userData = castFunPtrToPtr maybeCreateCurrentWidgetFunc
    let userDataFreeFunc = safeFreeFunPtrPtr
    hdy_combo_row_bind_model self' maybeModel maybeCreateListWidgetFunc maybeCreateCurrentWidgetFunc userData userDataFreeFunc
    safeFreeFunPtr $ castFunPtrToPtr maybeCreateListWidgetFunc
    touchManagedPtr self
    whenJust model touchManagedPtr
    return ()

#if ENABLE_OVERLOADING
data ComboRowBindModelMethodInfo
instance (signature ~ (Maybe (b) -> Maybe (Gtk.Callbacks.ListBoxCreateWidgetFunc) -> Maybe (Gtk.Callbacks.ListBoxCreateWidgetFunc) -> m ()), MonadIO m, IsComboRow a, Gio.ListModel.IsListModel b) => O.MethodInfo ComboRowBindModelMethodInfo a signature where
    overloadedMethod _ = comboRowBindModel

#endif

-- method ComboRow::bind_name_model
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Handy", name = "ComboRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #HdyComboRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "ListModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GListModel to be bound to @self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "get_name_func", argType = TInterface (Name {namespace = "Handy", name = "ComboRowGetNameFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function that creates names for items, or %NULL\n  in case you also passed %NULL as @model", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @get_name_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function for freeing @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_combo_row_bind_name_model" hdy_combo_row_bind_name_model ::
    Ptr ComboRow ->                         -- self : TInterface (Name {namespace = "Handy", name = "ComboRow"})
    Ptr Gio.ListModel.ListModel ->          -- model : TInterface (Name {namespace = "Gio", name = "ListModel"})
    FunPtr Handy.Callbacks.C_ComboRowGetNameFunc -> -- get_name_func : TInterface (Name {namespace = "Handy", name = "ComboRowGetNameFunc"})
    Ptr () ->                               -- user_data : TBasicType TPtr
    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
    IO ()

{- |
Binds /@model@/ to /@self@/.

If /@self@/ was already bound to a model, that previous binding is destroyed.

The contents of /@self@/ are cleared and then filled with widgets that represent
items from /@model@/. /@self@/ is updated whenever /@model@/ changes. If /@model@/ is
'Nothing', /@self@/ is left empty.

This is more conventient to use than 'GI.Handy.Objects.ComboRow.comboRowBindModel' if you want
to represent items of the model with names.

/Since: 0.0.6/
-}
comboRowBindNameModel ::
    (B.CallStack.HasCallStack, MonadIO m, IsComboRow a, Gio.ListModel.IsListModel b) =>
    a
    {- ^ /@self@/: a 'GI.Handy.Objects.ComboRow.ComboRow' -}
    -> Maybe (b)
    {- ^ /@model@/: the 'GI.Gio.Interfaces.ListModel.ListModel' to be bound to /@self@/ -}
    -> Maybe (Handy.Callbacks.ComboRowGetNameFunc)
    {- ^ /@getNameFunc@/: a function that creates names for items, or 'Nothing'
  in case you also passed 'Nothing' as /@model@/ -}
    -> m ()
comboRowBindNameModel self model getNameFunc = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    maybeModel <- case model of
        Nothing -> return nullPtr
        Just jModel -> do
            jModel' <- unsafeManagedPtrCastPtr jModel
            return jModel'
    maybeGetNameFunc <- case getNameFunc of
        Nothing -> return (castPtrToFunPtr nullPtr)
        Just jGetNameFunc -> do
            jGetNameFunc' <- Handy.Callbacks.mk_ComboRowGetNameFunc (Handy.Callbacks.wrap_ComboRowGetNameFunc Nothing (Handy.Callbacks.drop_closures_ComboRowGetNameFunc jGetNameFunc))
            return jGetNameFunc'
    let userData = castFunPtrToPtr maybeGetNameFunc
    let userDataFreeFunc = safeFreeFunPtrPtr
    hdy_combo_row_bind_name_model self' maybeModel maybeGetNameFunc userData userDataFreeFunc
    touchManagedPtr self
    whenJust model touchManagedPtr
    return ()

#if ENABLE_OVERLOADING
data ComboRowBindNameModelMethodInfo
instance (signature ~ (Maybe (b) -> Maybe (Handy.Callbacks.ComboRowGetNameFunc) -> m ()), MonadIO m, IsComboRow a, Gio.ListModel.IsListModel b) => O.MethodInfo ComboRowBindNameModelMethodInfo a signature where
    overloadedMethod _ = comboRowBindNameModel

#endif

-- method ComboRow::get_model
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Handy", name = "ComboRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #HdyComboRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "ListModel"}))
-- throws : False
-- Skip return : False

foreign import ccall "hdy_combo_row_get_model" hdy_combo_row_get_model ::
    Ptr ComboRow ->                         -- self : TInterface (Name {namespace = "Handy", name = "ComboRow"})
    IO (Ptr Gio.ListModel.ListModel)

{- |
Gets the model bound to /@self@/, or 'Nothing' if none is bound.

/Since: 0.0.6/
-}
comboRowGetModel ::
    (B.CallStack.HasCallStack, MonadIO m, IsComboRow a) =>
    a
    {- ^ /@self@/: a 'GI.Handy.Objects.ComboRow.ComboRow' -}
    -> m (Maybe Gio.ListModel.ListModel)
    {- ^ __Returns:__ the 'GI.Gio.Interfaces.ListModel.ListModel' bound to /@self@/ or 'Nothing' -}
comboRowGetModel self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- hdy_combo_row_get_model self'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject Gio.ListModel.ListModel) result'
        return result''
    touchManagedPtr self
    return maybeResult

#if ENABLE_OVERLOADING
data ComboRowGetModelMethodInfo
instance (signature ~ (m (Maybe Gio.ListModel.ListModel)), MonadIO m, IsComboRow a) => O.MethodInfo ComboRowGetModelMethodInfo a signature where
    overloadedMethod _ = comboRowGetModel

#endif

-- method ComboRow::get_selected_index
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Handy", name = "ComboRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False

foreign import ccall "hdy_combo_row_get_selected_index" hdy_combo_row_get_selected_index ::
    Ptr ComboRow ->                         -- self : TInterface (Name {namespace = "Handy", name = "ComboRow"})
    IO Int32

{- |
Gets the index of the selected item in its 'GI.Gio.Interfaces.ListModel.ListModel'.

/Since: 0.0.7/
-}
comboRowGetSelectedIndex ::
    (B.CallStack.HasCallStack, MonadIO m, IsComboRow a) =>
    a
    {- ^ /@self@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
    -> m Int32
    {- ^ __Returns:__ the index of the selected item, or -1 if no item is selected -}
comboRowGetSelectedIndex self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- hdy_combo_row_get_selected_index self'
    touchManagedPtr self
    return result

#if ENABLE_OVERLOADING
data ComboRowGetSelectedIndexMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsComboRow a) => O.MethodInfo ComboRowGetSelectedIndexMethodInfo a signature where
    overloadedMethod _ = comboRowGetSelectedIndex

#endif

-- method ComboRow::set_for_enum
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Handy", name = "ComboRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #HdyComboRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the enumeration #GType to be bound to @self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "get_name_func", argType = TInterface (Name {namespace = "Handy", name = "ComboRowGetEnumValueNameFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function that creates names for items, or %NULL\n  in case you also passed %NULL as @model", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @get_name_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function for freeing @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_combo_row_set_for_enum" hdy_combo_row_set_for_enum ::
    Ptr ComboRow ->                         -- self : TInterface (Name {namespace = "Handy", name = "ComboRow"})
    CGType ->                               -- enum_type : TBasicType TGType
    FunPtr Handy.Callbacks.C_ComboRowGetEnumValueNameFunc -> -- get_name_func : TInterface (Name {namespace = "Handy", name = "ComboRowGetEnumValueNameFunc"})
    Ptr () ->                               -- user_data : TBasicType TPtr
    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
    IO ()

{- |
Creates a model for /@enumType@/ and binds it to /@self@/. The items of the model
will be 'GI.Handy.Objects.EnumValueObject.EnumValueObject' objects.

If /@self@/ was already bound to a model, that previous binding is destroyed.

The contents of /@self@/ are cleared and then filled with widgets that represent
items from /@model@/. /@self@/ is updated whenever /@model@/ changes. If /@model@/ is
'Nothing', /@self@/ is left empty.

This is more conventient to use than 'GI.Handy.Objects.ComboRow.comboRowBindNameModel' if you
want to represent values of an enumeration with names.

See 'GI.Handy.Functions.enumValueRowName'.

/Since: 0.0.6/
-}
comboRowSetForEnum ::
    (B.CallStack.HasCallStack, MonadIO m, IsComboRow a) =>
    a
    {- ^ /@self@/: a 'GI.Handy.Objects.ComboRow.ComboRow' -}
    -> GType
    {- ^ /@enumType@/: the enumeration 'GType' to be bound to /@self@/ -}
    -> Maybe (Handy.Callbacks.ComboRowGetEnumValueNameFunc)
    {- ^ /@getNameFunc@/: a function that creates names for items, or 'Nothing'
  in case you also passed 'Nothing' as /@model@/ -}
    -> m ()
comboRowSetForEnum self enumType getNameFunc = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let enumType' = gtypeToCGType enumType
    maybeGetNameFunc <- case getNameFunc of
        Nothing -> return (castPtrToFunPtr nullPtr)
        Just jGetNameFunc -> do
            jGetNameFunc' <- Handy.Callbacks.mk_ComboRowGetEnumValueNameFunc (Handy.Callbacks.wrap_ComboRowGetEnumValueNameFunc Nothing (Handy.Callbacks.drop_closures_ComboRowGetEnumValueNameFunc jGetNameFunc))
            return jGetNameFunc'
    let userData = castFunPtrToPtr maybeGetNameFunc
    let userDataFreeFunc = safeFreeFunPtrPtr
    hdy_combo_row_set_for_enum self' enumType' maybeGetNameFunc userData userDataFreeFunc
    touchManagedPtr self
    return ()

#if ENABLE_OVERLOADING
data ComboRowSetForEnumMethodInfo
instance (signature ~ (GType -> Maybe (Handy.Callbacks.ComboRowGetEnumValueNameFunc) -> m ()), MonadIO m, IsComboRow a) => O.MethodInfo ComboRowSetForEnumMethodInfo a signature where
    overloadedMethod _ = comboRowSetForEnum

#endif

-- method ComboRow::set_selected_index
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Handy", name = "ComboRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #HdyComboRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selected_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the selected item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_combo_row_set_selected_index" hdy_combo_row_set_selected_index ::
    Ptr ComboRow ->                         -- self : TInterface (Name {namespace = "Handy", name = "ComboRow"})
    Int32 ->                                -- selected_index : TBasicType TInt
    IO ()

{- |
Sets the index of the selected item in its 'GI.Gio.Interfaces.ListModel.ListModel'.

/Since: 0.0.7/
-}
comboRowSetSelectedIndex ::
    (B.CallStack.HasCallStack, MonadIO m, IsComboRow a) =>
    a
    {- ^ /@self@/: a 'GI.Handy.Objects.ComboRow.ComboRow' -}
    -> Int32
    {- ^ /@selectedIndex@/: the index of the selected item -}
    -> m ()
comboRowSetSelectedIndex self selectedIndex = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    hdy_combo_row_set_selected_index self' selectedIndex
    touchManagedPtr self
    return ()

#if ENABLE_OVERLOADING
data ComboRowSetSelectedIndexMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboRow a) => O.MethodInfo ComboRowSetSelectedIndexMethodInfo a signature where
    overloadedMethod _ = comboRowSetSelectedIndex

#endif