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

module GI.Gtk.Objects.Entry
    ( 

-- * Exported types
    Entry(..)                               ,
    EntryK                                  ,
    toEntry                                 ,
    noEntry                                 ,


 -- * Methods
-- ** entryGetActivatesDefault
    entryGetActivatesDefault                ,


-- ** entryGetAlignment
    entryGetAlignment                       ,


-- ** entryGetAttributes
    entryGetAttributes                      ,


-- ** entryGetBuffer
    entryGetBuffer                          ,


-- ** entryGetCompletion
    entryGetCompletion                      ,


-- ** entryGetCurrentIconDragSource
    entryGetCurrentIconDragSource           ,


-- ** entryGetCursorHadjustment
    entryGetCursorHadjustment               ,


-- ** entryGetHasFrame
    entryGetHasFrame                        ,


-- ** entryGetIconActivatable
    entryGetIconActivatable                 ,


-- ** entryGetIconArea
    entryGetIconArea                        ,


-- ** entryGetIconAtPos
    entryGetIconAtPos                       ,


-- ** entryGetIconGicon
    entryGetIconGicon                       ,


-- ** entryGetIconName
    entryGetIconName                        ,


-- ** entryGetIconPixbuf
    entryGetIconPixbuf                      ,


-- ** entryGetIconSensitive
    entryGetIconSensitive                   ,


-- ** entryGetIconStock
    entryGetIconStock                       ,


-- ** entryGetIconStorageType
    entryGetIconStorageType                 ,


-- ** entryGetIconTooltipMarkup
    entryGetIconTooltipMarkup               ,


-- ** entryGetIconTooltipText
    entryGetIconTooltipText                 ,


-- ** entryGetInnerBorder
    entryGetInnerBorder                     ,


-- ** entryGetInputHints
    entryGetInputHints                      ,


-- ** entryGetInputPurpose
    entryGetInputPurpose                    ,


-- ** entryGetInvisibleChar
    entryGetInvisibleChar                   ,


-- ** entryGetLayout
    entryGetLayout                          ,


-- ** entryGetLayoutOffsets
    entryGetLayoutOffsets                   ,


-- ** entryGetMaxLength
    entryGetMaxLength                       ,


-- ** entryGetMaxWidthChars
    entryGetMaxWidthChars                   ,


-- ** entryGetOverwriteMode
    entryGetOverwriteMode                   ,


-- ** entryGetPlaceholderText
    entryGetPlaceholderText                 ,


-- ** entryGetProgressFraction
    entryGetProgressFraction                ,


-- ** entryGetProgressPulseStep
    entryGetProgressPulseStep               ,


-- ** entryGetTabs
    entryGetTabs                            ,


-- ** entryGetText
    entryGetText                            ,


-- ** entryGetTextArea
    entryGetTextArea                        ,


-- ** entryGetTextLength
    entryGetTextLength                      ,


-- ** entryGetVisibility
    entryGetVisibility                      ,


-- ** entryGetWidthChars
    entryGetWidthChars                      ,


-- ** entryGrabFocusWithoutSelecting
    entryGrabFocusWithoutSelecting          ,


-- ** entryImContextFilterKeypress
    entryImContextFilterKeypress            ,


-- ** entryLayoutIndexToTextIndex
    entryLayoutIndexToTextIndex             ,


-- ** entryNew
    entryNew                                ,


-- ** entryNewWithBuffer
    entryNewWithBuffer                      ,


-- ** entryProgressPulse
    entryProgressPulse                      ,


-- ** entryResetImContext
    entryResetImContext                     ,


-- ** entrySetActivatesDefault
    entrySetActivatesDefault                ,


-- ** entrySetAlignment
    entrySetAlignment                       ,


-- ** entrySetAttributes
    entrySetAttributes                      ,


-- ** entrySetBuffer
    entrySetBuffer                          ,


-- ** entrySetCompletion
    entrySetCompletion                      ,


-- ** entrySetCursorHadjustment
    entrySetCursorHadjustment               ,


-- ** entrySetHasFrame
    entrySetHasFrame                        ,


-- ** entrySetIconActivatable
    entrySetIconActivatable                 ,


-- ** entrySetIconDragSource
    entrySetIconDragSource                  ,


-- ** entrySetIconFromGicon
    entrySetIconFromGicon                   ,


-- ** entrySetIconFromIconName
    entrySetIconFromIconName                ,


-- ** entrySetIconFromPixbuf
    entrySetIconFromPixbuf                  ,


-- ** entrySetIconFromStock
    entrySetIconFromStock                   ,


-- ** entrySetIconSensitive
    entrySetIconSensitive                   ,


-- ** entrySetIconTooltipMarkup
    entrySetIconTooltipMarkup               ,


-- ** entrySetIconTooltipText
    entrySetIconTooltipText                 ,


-- ** entrySetInnerBorder
    entrySetInnerBorder                     ,


-- ** entrySetInputHints
    entrySetInputHints                      ,


-- ** entrySetInputPurpose
    entrySetInputPurpose                    ,


-- ** entrySetInvisibleChar
    entrySetInvisibleChar                   ,


-- ** entrySetMaxLength
    entrySetMaxLength                       ,


-- ** entrySetMaxWidthChars
    entrySetMaxWidthChars                   ,


-- ** entrySetOverwriteMode
    entrySetOverwriteMode                   ,


-- ** entrySetPlaceholderText
    entrySetPlaceholderText                 ,


-- ** entrySetProgressFraction
    entrySetProgressFraction                ,


-- ** entrySetProgressPulseStep
    entrySetProgressPulseStep               ,


-- ** entrySetTabs
    entrySetTabs                            ,


-- ** entrySetText
    entrySetText                            ,


-- ** entrySetVisibility
    entrySetVisibility                      ,


-- ** entrySetWidthChars
    entrySetWidthChars                      ,


-- ** entryTextIndexToLayoutIndex
    entryTextIndexToLayoutIndex             ,


-- ** entryUnsetInvisibleChar
    entryUnsetInvisibleChar                 ,




 -- * Properties
-- ** ActivatesDefault
    EntryActivatesDefaultPropertyInfo       ,
    constructEntryActivatesDefault          ,
    getEntryActivatesDefault                ,
    setEntryActivatesDefault                ,


-- ** Attributes
    EntryAttributesPropertyInfo             ,
    constructEntryAttributes                ,
    getEntryAttributes                      ,
    setEntryAttributes                      ,


-- ** Buffer
    EntryBufferPropertyInfo                 ,
    constructEntryBuffer                    ,
    getEntryBuffer                          ,
    setEntryBuffer                          ,


-- ** CapsLockWarning
    EntryCapsLockWarningPropertyInfo        ,
    constructEntryCapsLockWarning           ,
    getEntryCapsLockWarning                 ,
    setEntryCapsLockWarning                 ,


-- ** Completion
    EntryCompletionPropertyInfo             ,
    constructEntryCompletion                ,
    getEntryCompletion                      ,
    setEntryCompletion                      ,


-- ** CursorPosition
    EntryCursorPositionPropertyInfo         ,
    getEntryCursorPosition                  ,


-- ** Editable
    EntryEditablePropertyInfo               ,
    constructEntryEditable                  ,
    getEntryEditable                        ,
    setEntryEditable                        ,


-- ** HasFrame
    EntryHasFramePropertyInfo               ,
    constructEntryHasFrame                  ,
    getEntryHasFrame                        ,
    setEntryHasFrame                        ,


-- ** ImModule
    EntryImModulePropertyInfo               ,
    constructEntryImModule                  ,
    getEntryImModule                        ,
    setEntryImModule                        ,


-- ** InnerBorder
    EntryInnerBorderPropertyInfo            ,
    constructEntryInnerBorder               ,
    getEntryInnerBorder                     ,
    setEntryInnerBorder                     ,


-- ** InputHints
    EntryInputHintsPropertyInfo             ,
    constructEntryInputHints                ,
    getEntryInputHints                      ,
    setEntryInputHints                      ,


-- ** InputPurpose
    EntryInputPurposePropertyInfo           ,
    constructEntryInputPurpose              ,
    getEntryInputPurpose                    ,
    setEntryInputPurpose                    ,


-- ** InvisibleChar
    EntryInvisibleCharPropertyInfo          ,
    constructEntryInvisibleChar             ,
    getEntryInvisibleChar                   ,
    setEntryInvisibleChar                   ,


-- ** InvisibleCharSet
    EntryInvisibleCharSetPropertyInfo       ,
    constructEntryInvisibleCharSet          ,
    getEntryInvisibleCharSet                ,
    setEntryInvisibleCharSet                ,


-- ** MaxLength
    EntryMaxLengthPropertyInfo              ,
    constructEntryMaxLength                 ,
    getEntryMaxLength                       ,
    setEntryMaxLength                       ,


-- ** MaxWidthChars
    EntryMaxWidthCharsPropertyInfo          ,
    constructEntryMaxWidthChars             ,
    getEntryMaxWidthChars                   ,
    setEntryMaxWidthChars                   ,


-- ** OverwriteMode
    EntryOverwriteModePropertyInfo          ,
    constructEntryOverwriteMode             ,
    getEntryOverwriteMode                   ,
    setEntryOverwriteMode                   ,


-- ** PlaceholderText
    EntryPlaceholderTextPropertyInfo        ,
    constructEntryPlaceholderText           ,
    getEntryPlaceholderText                 ,
    setEntryPlaceholderText                 ,


-- ** PopulateAll
    EntryPopulateAllPropertyInfo            ,
    constructEntryPopulateAll               ,
    getEntryPopulateAll                     ,
    setEntryPopulateAll                     ,


-- ** PrimaryIconActivatable
    EntryPrimaryIconActivatablePropertyInfo ,
    constructEntryPrimaryIconActivatable    ,
    getEntryPrimaryIconActivatable          ,
    setEntryPrimaryIconActivatable          ,


-- ** PrimaryIconGicon
    EntryPrimaryIconGiconPropertyInfo       ,
    constructEntryPrimaryIconGicon          ,
    getEntryPrimaryIconGicon                ,
    setEntryPrimaryIconGicon                ,


-- ** PrimaryIconName
    EntryPrimaryIconNamePropertyInfo        ,
    constructEntryPrimaryIconName           ,
    getEntryPrimaryIconName                 ,
    setEntryPrimaryIconName                 ,


-- ** PrimaryIconPixbuf
    EntryPrimaryIconPixbufPropertyInfo      ,
    constructEntryPrimaryIconPixbuf         ,
    getEntryPrimaryIconPixbuf               ,
    setEntryPrimaryIconPixbuf               ,


-- ** PrimaryIconSensitive
    EntryPrimaryIconSensitivePropertyInfo   ,
    constructEntryPrimaryIconSensitive      ,
    getEntryPrimaryIconSensitive            ,
    setEntryPrimaryIconSensitive            ,


-- ** PrimaryIconStock
    EntryPrimaryIconStockPropertyInfo       ,
    constructEntryPrimaryIconStock          ,
    getEntryPrimaryIconStock                ,
    setEntryPrimaryIconStock                ,


-- ** PrimaryIconStorageType
    EntryPrimaryIconStorageTypePropertyInfo ,
    getEntryPrimaryIconStorageType          ,


-- ** PrimaryIconTooltipMarkup
    EntryPrimaryIconTooltipMarkupPropertyInfo,
    constructEntryPrimaryIconTooltipMarkup  ,
    getEntryPrimaryIconTooltipMarkup        ,
    setEntryPrimaryIconTooltipMarkup        ,


-- ** PrimaryIconTooltipText
    EntryPrimaryIconTooltipTextPropertyInfo ,
    constructEntryPrimaryIconTooltipText    ,
    getEntryPrimaryIconTooltipText          ,
    setEntryPrimaryIconTooltipText          ,


-- ** ProgressFraction
    EntryProgressFractionPropertyInfo       ,
    constructEntryProgressFraction          ,
    getEntryProgressFraction                ,
    setEntryProgressFraction                ,


-- ** ProgressPulseStep
    EntryProgressPulseStepPropertyInfo      ,
    constructEntryProgressPulseStep         ,
    getEntryProgressPulseStep               ,
    setEntryProgressPulseStep               ,


-- ** ScrollOffset
    EntryScrollOffsetPropertyInfo           ,
    getEntryScrollOffset                    ,


-- ** SecondaryIconActivatable
    EntrySecondaryIconActivatablePropertyInfo,
    constructEntrySecondaryIconActivatable  ,
    getEntrySecondaryIconActivatable        ,
    setEntrySecondaryIconActivatable        ,


-- ** SecondaryIconGicon
    EntrySecondaryIconGiconPropertyInfo     ,
    constructEntrySecondaryIconGicon        ,
    getEntrySecondaryIconGicon              ,
    setEntrySecondaryIconGicon              ,


-- ** SecondaryIconName
    EntrySecondaryIconNamePropertyInfo      ,
    constructEntrySecondaryIconName         ,
    getEntrySecondaryIconName               ,
    setEntrySecondaryIconName               ,


-- ** SecondaryIconPixbuf
    EntrySecondaryIconPixbufPropertyInfo    ,
    constructEntrySecondaryIconPixbuf       ,
    getEntrySecondaryIconPixbuf             ,
    setEntrySecondaryIconPixbuf             ,


-- ** SecondaryIconSensitive
    EntrySecondaryIconSensitivePropertyInfo ,
    constructEntrySecondaryIconSensitive    ,
    getEntrySecondaryIconSensitive          ,
    setEntrySecondaryIconSensitive          ,


-- ** SecondaryIconStock
    EntrySecondaryIconStockPropertyInfo     ,
    constructEntrySecondaryIconStock        ,
    getEntrySecondaryIconStock              ,
    setEntrySecondaryIconStock              ,


-- ** SecondaryIconStorageType
    EntrySecondaryIconStorageTypePropertyInfo,
    getEntrySecondaryIconStorageType        ,


-- ** SecondaryIconTooltipMarkup
    EntrySecondaryIconTooltipMarkupPropertyInfo,
    constructEntrySecondaryIconTooltipMarkup,
    getEntrySecondaryIconTooltipMarkup      ,
    setEntrySecondaryIconTooltipMarkup      ,


-- ** SecondaryIconTooltipText
    EntrySecondaryIconTooltipTextPropertyInfo,
    constructEntrySecondaryIconTooltipText  ,
    getEntrySecondaryIconTooltipText        ,
    setEntrySecondaryIconTooltipText        ,


-- ** SelectionBound
    EntrySelectionBoundPropertyInfo         ,
    getEntrySelectionBound                  ,


-- ** ShadowType
    EntryShadowTypePropertyInfo             ,
    constructEntryShadowType                ,
    getEntryShadowType                      ,
    setEntryShadowType                      ,


-- ** Tabs
    EntryTabsPropertyInfo                   ,
    constructEntryTabs                      ,
    getEntryTabs                            ,
    setEntryTabs                            ,


-- ** Text
    EntryTextPropertyInfo                   ,
    constructEntryText                      ,
    getEntryText                            ,
    setEntryText                            ,


-- ** TextLength
    EntryTextLengthPropertyInfo             ,
    getEntryTextLength                      ,


-- ** TruncateMultiline
    EntryTruncateMultilinePropertyInfo      ,
    constructEntryTruncateMultiline         ,
    getEntryTruncateMultiline               ,
    setEntryTruncateMultiline               ,


-- ** Visibility
    EntryVisibilityPropertyInfo             ,
    constructEntryVisibility                ,
    getEntryVisibility                      ,
    setEntryVisibility                      ,


-- ** WidthChars
    EntryWidthCharsPropertyInfo             ,
    constructEntryWidthChars                ,
    getEntryWidthChars                      ,
    setEntryWidthChars                      ,


-- ** Xalign
    EntryXalignPropertyInfo                 ,
    constructEntryXalign                    ,
    getEntryXalign                          ,
    setEntryXalign                          ,




 -- * Signals
-- ** Activate
    EntryActivateCallback                   ,
    EntryActivateCallbackC                  ,
    EntryActivateSignalInfo                 ,
    afterEntryActivate                      ,
    entryActivateCallbackWrapper            ,
    entryActivateClosure                    ,
    mkEntryActivateCallback                 ,
    noEntryActivateCallback                 ,
    onEntryActivate                         ,


-- ** Backspace
    EntryBackspaceCallback                  ,
    EntryBackspaceCallbackC                 ,
    EntryBackspaceSignalInfo                ,
    afterEntryBackspace                     ,
    entryBackspaceCallbackWrapper           ,
    entryBackspaceClosure                   ,
    mkEntryBackspaceCallback                ,
    noEntryBackspaceCallback                ,
    onEntryBackspace                        ,


-- ** CopyClipboard
    EntryCopyClipboardCallback              ,
    EntryCopyClipboardCallbackC             ,
    EntryCopyClipboardSignalInfo            ,
    afterEntryCopyClipboard                 ,
    entryCopyClipboardCallbackWrapper       ,
    entryCopyClipboardClosure               ,
    mkEntryCopyClipboardCallback            ,
    noEntryCopyClipboardCallback            ,
    onEntryCopyClipboard                    ,


-- ** CutClipboard
    EntryCutClipboardCallback               ,
    EntryCutClipboardCallbackC              ,
    EntryCutClipboardSignalInfo             ,
    afterEntryCutClipboard                  ,
    entryCutClipboardCallbackWrapper        ,
    entryCutClipboardClosure                ,
    mkEntryCutClipboardCallback             ,
    noEntryCutClipboardCallback             ,
    onEntryCutClipboard                     ,


-- ** DeleteFromCursor
    EntryDeleteFromCursorCallback           ,
    EntryDeleteFromCursorCallbackC          ,
    EntryDeleteFromCursorSignalInfo         ,
    afterEntryDeleteFromCursor              ,
    entryDeleteFromCursorCallbackWrapper    ,
    entryDeleteFromCursorClosure            ,
    mkEntryDeleteFromCursorCallback         ,
    noEntryDeleteFromCursorCallback         ,
    onEntryDeleteFromCursor                 ,


-- ** IconPress
    EntryIconPressCallback                  ,
    EntryIconPressCallbackC                 ,
    EntryIconPressSignalInfo                ,
    afterEntryIconPress                     ,
    entryIconPressCallbackWrapper           ,
    entryIconPressClosure                   ,
    mkEntryIconPressCallback                ,
    noEntryIconPressCallback                ,
    onEntryIconPress                        ,


-- ** IconRelease
    EntryIconReleaseCallback                ,
    EntryIconReleaseCallbackC               ,
    EntryIconReleaseSignalInfo              ,
    afterEntryIconRelease                   ,
    entryIconReleaseCallbackWrapper         ,
    entryIconReleaseClosure                 ,
    mkEntryIconReleaseCallback              ,
    noEntryIconReleaseCallback              ,
    onEntryIconRelease                      ,


-- ** InsertAtCursor
    EntryInsertAtCursorCallback             ,
    EntryInsertAtCursorCallbackC            ,
    EntryInsertAtCursorSignalInfo           ,
    afterEntryInsertAtCursor                ,
    entryInsertAtCursorCallbackWrapper      ,
    entryInsertAtCursorClosure              ,
    mkEntryInsertAtCursorCallback           ,
    noEntryInsertAtCursorCallback           ,
    onEntryInsertAtCursor                   ,


-- ** MoveCursor
    EntryMoveCursorCallback                 ,
    EntryMoveCursorCallbackC                ,
    EntryMoveCursorSignalInfo               ,
    afterEntryMoveCursor                    ,
    entryMoveCursorCallbackWrapper          ,
    entryMoveCursorClosure                  ,
    mkEntryMoveCursorCallback               ,
    noEntryMoveCursorCallback               ,
    onEntryMoveCursor                       ,


-- ** PasteClipboard
    EntryPasteClipboardCallback             ,
    EntryPasteClipboardCallbackC            ,
    EntryPasteClipboardSignalInfo           ,
    afterEntryPasteClipboard                ,
    entryPasteClipboardCallbackWrapper      ,
    entryPasteClipboardClosure              ,
    mkEntryPasteClipboardCallback           ,
    noEntryPasteClipboardCallback           ,
    onEntryPasteClipboard                   ,


-- ** PopulatePopup
    EntryPopulatePopupCallback              ,
    EntryPopulatePopupCallbackC             ,
    EntryPopulatePopupSignalInfo            ,
    afterEntryPopulatePopup                 ,
    entryPopulatePopupCallbackWrapper       ,
    entryPopulatePopupClosure               ,
    mkEntryPopulatePopupCallback            ,
    noEntryPopulatePopupCallback            ,
    onEntryPopulatePopup                    ,


-- ** PreeditChanged
    EntryPreeditChangedCallback             ,
    EntryPreeditChangedCallbackC            ,
    EntryPreeditChangedSignalInfo           ,
    afterEntryPreeditChanged                ,
    entryPreeditChangedCallbackWrapper      ,
    entryPreeditChangedClosure              ,
    mkEntryPreeditChangedCallback           ,
    noEntryPreeditChangedCallback           ,
    onEntryPreeditChanged                   ,


-- ** ToggleOverwrite
    EntryToggleOverwriteCallback            ,
    EntryToggleOverwriteCallbackC           ,
    EntryToggleOverwriteSignalInfo          ,
    afterEntryToggleOverwrite               ,
    entryToggleOverwriteCallbackWrapper     ,
    entryToggleOverwriteClosure             ,
    mkEntryToggleOverwriteCallback          ,
    noEntryToggleOverwriteCallback          ,
    onEntryToggleOverwrite                  ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.Atk as Atk
import qualified GI.GObject as GObject
import qualified GI.Gdk as Gdk
import qualified GI.GdkPixbuf as GdkPixbuf
import qualified GI.Gio as Gio
import qualified GI.Pango as Pango

newtype Entry = Entry (ForeignPtr Entry)
foreign import ccall "gtk_entry_get_type"
    c_gtk_entry_get_type :: IO GType

type instance ParentTypes Entry = EntryParentTypes
type EntryParentTypes = '[Widget, GObject.Object, Atk.ImplementorIface, Buildable, CellEditable, Editable]

instance GObject Entry where
    gobjectIsInitiallyUnowned _ = True
    gobjectType _ = c_gtk_entry_get_type
    

class GObject o => EntryK o
instance (GObject o, IsDescendantOf Entry o) => EntryK o

toEntry :: EntryK o => o -> IO Entry
toEntry = unsafeCastTo Entry

noEntry :: Maybe Entry
noEntry = Nothing

-- signal Entry::activate
type EntryActivateCallback =
    IO ()

noEntryActivateCallback :: Maybe EntryActivateCallback
noEntryActivateCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryActivateCallback :: EntryActivateCallbackC -> IO (FunPtr EntryActivateCallbackC)

entryActivateClosure :: EntryActivateCallback -> IO Closure
entryActivateClosure cb = newCClosure =<< mkEntryActivateCallback wrapped
    where wrapped = entryActivateCallbackWrapper cb

entryActivateCallbackWrapper ::
    EntryActivateCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
entryActivateCallbackWrapper _cb _ _ = do
    _cb 

onEntryActivate :: (GObject a, MonadIO m) => a -> EntryActivateCallback -> m SignalHandlerId
onEntryActivate obj cb = liftIO $ connectEntryActivate obj cb SignalConnectBefore
afterEntryActivate :: (GObject a, MonadIO m) => a -> EntryActivateCallback -> m SignalHandlerId
afterEntryActivate obj cb = connectEntryActivate obj cb SignalConnectAfter

connectEntryActivate :: (GObject a, MonadIO m) =>
                        a -> EntryActivateCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryActivate obj cb after = liftIO $ do
    cb' <- mkEntryActivateCallback (entryActivateCallbackWrapper cb)
    connectSignalFunPtr obj "activate" cb' after

-- signal Entry::backspace
type EntryBackspaceCallback =
    IO ()

noEntryBackspaceCallback :: Maybe EntryBackspaceCallback
noEntryBackspaceCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryBackspaceCallback :: EntryBackspaceCallbackC -> IO (FunPtr EntryBackspaceCallbackC)

entryBackspaceClosure :: EntryBackspaceCallback -> IO Closure
entryBackspaceClosure cb = newCClosure =<< mkEntryBackspaceCallback wrapped
    where wrapped = entryBackspaceCallbackWrapper cb

entryBackspaceCallbackWrapper ::
    EntryBackspaceCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
entryBackspaceCallbackWrapper _cb _ _ = do
    _cb 

onEntryBackspace :: (GObject a, MonadIO m) => a -> EntryBackspaceCallback -> m SignalHandlerId
onEntryBackspace obj cb = liftIO $ connectEntryBackspace obj cb SignalConnectBefore
afterEntryBackspace :: (GObject a, MonadIO m) => a -> EntryBackspaceCallback -> m SignalHandlerId
afterEntryBackspace obj cb = connectEntryBackspace obj cb SignalConnectAfter

connectEntryBackspace :: (GObject a, MonadIO m) =>
                         a -> EntryBackspaceCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryBackspace obj cb after = liftIO $ do
    cb' <- mkEntryBackspaceCallback (entryBackspaceCallbackWrapper cb)
    connectSignalFunPtr obj "backspace" cb' after

-- signal Entry::copy-clipboard
type EntryCopyClipboardCallback =
    IO ()

noEntryCopyClipboardCallback :: Maybe EntryCopyClipboardCallback
noEntryCopyClipboardCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryCopyClipboardCallback :: EntryCopyClipboardCallbackC -> IO (FunPtr EntryCopyClipboardCallbackC)

entryCopyClipboardClosure :: EntryCopyClipboardCallback -> IO Closure
entryCopyClipboardClosure cb = newCClosure =<< mkEntryCopyClipboardCallback wrapped
    where wrapped = entryCopyClipboardCallbackWrapper cb

entryCopyClipboardCallbackWrapper ::
    EntryCopyClipboardCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
entryCopyClipboardCallbackWrapper _cb _ _ = do
    _cb 

onEntryCopyClipboard :: (GObject a, MonadIO m) => a -> EntryCopyClipboardCallback -> m SignalHandlerId
onEntryCopyClipboard obj cb = liftIO $ connectEntryCopyClipboard obj cb SignalConnectBefore
afterEntryCopyClipboard :: (GObject a, MonadIO m) => a -> EntryCopyClipboardCallback -> m SignalHandlerId
afterEntryCopyClipboard obj cb = connectEntryCopyClipboard obj cb SignalConnectAfter

connectEntryCopyClipboard :: (GObject a, MonadIO m) =>
                             a -> EntryCopyClipboardCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryCopyClipboard obj cb after = liftIO $ do
    cb' <- mkEntryCopyClipboardCallback (entryCopyClipboardCallbackWrapper cb)
    connectSignalFunPtr obj "copy-clipboard" cb' after

-- signal Entry::cut-clipboard
type EntryCutClipboardCallback =
    IO ()

noEntryCutClipboardCallback :: Maybe EntryCutClipboardCallback
noEntryCutClipboardCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryCutClipboardCallback :: EntryCutClipboardCallbackC -> IO (FunPtr EntryCutClipboardCallbackC)

entryCutClipboardClosure :: EntryCutClipboardCallback -> IO Closure
entryCutClipboardClosure cb = newCClosure =<< mkEntryCutClipboardCallback wrapped
    where wrapped = entryCutClipboardCallbackWrapper cb

entryCutClipboardCallbackWrapper ::
    EntryCutClipboardCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
entryCutClipboardCallbackWrapper _cb _ _ = do
    _cb 

onEntryCutClipboard :: (GObject a, MonadIO m) => a -> EntryCutClipboardCallback -> m SignalHandlerId
onEntryCutClipboard obj cb = liftIO $ connectEntryCutClipboard obj cb SignalConnectBefore
afterEntryCutClipboard :: (GObject a, MonadIO m) => a -> EntryCutClipboardCallback -> m SignalHandlerId
afterEntryCutClipboard obj cb = connectEntryCutClipboard obj cb SignalConnectAfter

connectEntryCutClipboard :: (GObject a, MonadIO m) =>
                            a -> EntryCutClipboardCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryCutClipboard obj cb after = liftIO $ do
    cb' <- mkEntryCutClipboardCallback (entryCutClipboardCallbackWrapper cb)
    connectSignalFunPtr obj "cut-clipboard" cb' after

-- signal Entry::delete-from-cursor
type EntryDeleteFromCursorCallback =
    DeleteType ->
    Int32 ->
    IO ()

noEntryDeleteFromCursorCallback :: Maybe EntryDeleteFromCursorCallback
noEntryDeleteFromCursorCallback = Nothing

type EntryDeleteFromCursorCallbackC =
    Ptr () ->                               -- object
    CUInt ->
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkEntryDeleteFromCursorCallback :: EntryDeleteFromCursorCallbackC -> IO (FunPtr EntryDeleteFromCursorCallbackC)

entryDeleteFromCursorClosure :: EntryDeleteFromCursorCallback -> IO Closure
entryDeleteFromCursorClosure cb = newCClosure =<< mkEntryDeleteFromCursorCallback wrapped
    where wrapped = entryDeleteFromCursorCallbackWrapper cb

entryDeleteFromCursorCallbackWrapper ::
    EntryDeleteFromCursorCallback ->
    Ptr () ->
    CUInt ->
    Int32 ->
    Ptr () ->
    IO ()
entryDeleteFromCursorCallbackWrapper _cb _ type_ count _ = do
    let type_' = (toEnum . fromIntegral) type_
    _cb  type_' count

onEntryDeleteFromCursor :: (GObject a, MonadIO m) => a -> EntryDeleteFromCursorCallback -> m SignalHandlerId
onEntryDeleteFromCursor obj cb = liftIO $ connectEntryDeleteFromCursor obj cb SignalConnectBefore
afterEntryDeleteFromCursor :: (GObject a, MonadIO m) => a -> EntryDeleteFromCursorCallback -> m SignalHandlerId
afterEntryDeleteFromCursor obj cb = connectEntryDeleteFromCursor obj cb SignalConnectAfter

connectEntryDeleteFromCursor :: (GObject a, MonadIO m) =>
                                a -> EntryDeleteFromCursorCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryDeleteFromCursor obj cb after = liftIO $ do
    cb' <- mkEntryDeleteFromCursorCallback (entryDeleteFromCursorCallbackWrapper cb)
    connectSignalFunPtr obj "delete-from-cursor" cb' after

-- signal Entry::icon-press
type EntryIconPressCallback =
    EntryIconPosition ->
    Gdk.EventButton ->
    IO ()

noEntryIconPressCallback :: Maybe EntryIconPressCallback
noEntryIconPressCallback = Nothing

type EntryIconPressCallbackC =
    Ptr () ->                               -- object
    CUInt ->
    Ptr Gdk.EventButton ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkEntryIconPressCallback :: EntryIconPressCallbackC -> IO (FunPtr EntryIconPressCallbackC)

entryIconPressClosure :: EntryIconPressCallback -> IO Closure
entryIconPressClosure cb = newCClosure =<< mkEntryIconPressCallback wrapped
    where wrapped = entryIconPressCallbackWrapper cb

entryIconPressCallbackWrapper ::
    EntryIconPressCallback ->
    Ptr () ->
    CUInt ->
    Ptr Gdk.EventButton ->
    Ptr () ->
    IO ()
entryIconPressCallbackWrapper _cb _ icon_pos event _ = do
    let icon_pos' = (toEnum . fromIntegral) icon_pos
    event' <- (newPtr 80 Gdk.EventButton) event
    _cb  icon_pos' event'

onEntryIconPress :: (GObject a, MonadIO m) => a -> EntryIconPressCallback -> m SignalHandlerId
onEntryIconPress obj cb = liftIO $ connectEntryIconPress obj cb SignalConnectBefore
afterEntryIconPress :: (GObject a, MonadIO m) => a -> EntryIconPressCallback -> m SignalHandlerId
afterEntryIconPress obj cb = connectEntryIconPress obj cb SignalConnectAfter

connectEntryIconPress :: (GObject a, MonadIO m) =>
                         a -> EntryIconPressCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryIconPress obj cb after = liftIO $ do
    cb' <- mkEntryIconPressCallback (entryIconPressCallbackWrapper cb)
    connectSignalFunPtr obj "icon-press" cb' after

-- signal Entry::icon-release
type EntryIconReleaseCallback =
    EntryIconPosition ->
    Gdk.EventButton ->
    IO ()

noEntryIconReleaseCallback :: Maybe EntryIconReleaseCallback
noEntryIconReleaseCallback = Nothing

type EntryIconReleaseCallbackC =
    Ptr () ->                               -- object
    CUInt ->
    Ptr Gdk.EventButton ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkEntryIconReleaseCallback :: EntryIconReleaseCallbackC -> IO (FunPtr EntryIconReleaseCallbackC)

entryIconReleaseClosure :: EntryIconReleaseCallback -> IO Closure
entryIconReleaseClosure cb = newCClosure =<< mkEntryIconReleaseCallback wrapped
    where wrapped = entryIconReleaseCallbackWrapper cb

entryIconReleaseCallbackWrapper ::
    EntryIconReleaseCallback ->
    Ptr () ->
    CUInt ->
    Ptr Gdk.EventButton ->
    Ptr () ->
    IO ()
entryIconReleaseCallbackWrapper _cb _ icon_pos event _ = do
    let icon_pos' = (toEnum . fromIntegral) icon_pos
    event' <- (newPtr 80 Gdk.EventButton) event
    _cb  icon_pos' event'

onEntryIconRelease :: (GObject a, MonadIO m) => a -> EntryIconReleaseCallback -> m SignalHandlerId
onEntryIconRelease obj cb = liftIO $ connectEntryIconRelease obj cb SignalConnectBefore
afterEntryIconRelease :: (GObject a, MonadIO m) => a -> EntryIconReleaseCallback -> m SignalHandlerId
afterEntryIconRelease obj cb = connectEntryIconRelease obj cb SignalConnectAfter

connectEntryIconRelease :: (GObject a, MonadIO m) =>
                           a -> EntryIconReleaseCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryIconRelease obj cb after = liftIO $ do
    cb' <- mkEntryIconReleaseCallback (entryIconReleaseCallbackWrapper cb)
    connectSignalFunPtr obj "icon-release" cb' after

-- signal Entry::insert-at-cursor
type EntryInsertAtCursorCallback =
    T.Text ->
    IO ()

noEntryInsertAtCursorCallback :: Maybe EntryInsertAtCursorCallback
noEntryInsertAtCursorCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryInsertAtCursorCallback :: EntryInsertAtCursorCallbackC -> IO (FunPtr EntryInsertAtCursorCallbackC)

entryInsertAtCursorClosure :: EntryInsertAtCursorCallback -> IO Closure
entryInsertAtCursorClosure cb = newCClosure =<< mkEntryInsertAtCursorCallback wrapped
    where wrapped = entryInsertAtCursorCallbackWrapper cb

entryInsertAtCursorCallbackWrapper ::
    EntryInsertAtCursorCallback ->
    Ptr () ->
    CString ->
    Ptr () ->
    IO ()
entryInsertAtCursorCallbackWrapper _cb _ string _ = do
    string' <- cstringToText string
    _cb  string'

onEntryInsertAtCursor :: (GObject a, MonadIO m) => a -> EntryInsertAtCursorCallback -> m SignalHandlerId
onEntryInsertAtCursor obj cb = liftIO $ connectEntryInsertAtCursor obj cb SignalConnectBefore
afterEntryInsertAtCursor :: (GObject a, MonadIO m) => a -> EntryInsertAtCursorCallback -> m SignalHandlerId
afterEntryInsertAtCursor obj cb = connectEntryInsertAtCursor obj cb SignalConnectAfter

connectEntryInsertAtCursor :: (GObject a, MonadIO m) =>
                              a -> EntryInsertAtCursorCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryInsertAtCursor obj cb after = liftIO $ do
    cb' <- mkEntryInsertAtCursorCallback (entryInsertAtCursorCallbackWrapper cb)
    connectSignalFunPtr obj "insert-at-cursor" cb' after

-- signal Entry::move-cursor
type EntryMoveCursorCallback =
    MovementStep ->
    Int32 ->
    Bool ->
    IO ()

noEntryMoveCursorCallback :: Maybe EntryMoveCursorCallback
noEntryMoveCursorCallback = Nothing

type EntryMoveCursorCallbackC =
    Ptr () ->                               -- object
    CUInt ->
    Int32 ->
    CInt ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkEntryMoveCursorCallback :: EntryMoveCursorCallbackC -> IO (FunPtr EntryMoveCursorCallbackC)

entryMoveCursorClosure :: EntryMoveCursorCallback -> IO Closure
entryMoveCursorClosure cb = newCClosure =<< mkEntryMoveCursorCallback wrapped
    where wrapped = entryMoveCursorCallbackWrapper cb

entryMoveCursorCallbackWrapper ::
    EntryMoveCursorCallback ->
    Ptr () ->
    CUInt ->
    Int32 ->
    CInt ->
    Ptr () ->
    IO ()
entryMoveCursorCallbackWrapper _cb _ step count extend_selection _ = do
    let step' = (toEnum . fromIntegral) step
    let extend_selection' = (/= 0) extend_selection
    _cb  step' count extend_selection'

onEntryMoveCursor :: (GObject a, MonadIO m) => a -> EntryMoveCursorCallback -> m SignalHandlerId
onEntryMoveCursor obj cb = liftIO $ connectEntryMoveCursor obj cb SignalConnectBefore
afterEntryMoveCursor :: (GObject a, MonadIO m) => a -> EntryMoveCursorCallback -> m SignalHandlerId
afterEntryMoveCursor obj cb = connectEntryMoveCursor obj cb SignalConnectAfter

connectEntryMoveCursor :: (GObject a, MonadIO m) =>
                          a -> EntryMoveCursorCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryMoveCursor obj cb after = liftIO $ do
    cb' <- mkEntryMoveCursorCallback (entryMoveCursorCallbackWrapper cb)
    connectSignalFunPtr obj "move-cursor" cb' after

-- signal Entry::paste-clipboard
type EntryPasteClipboardCallback =
    IO ()

noEntryPasteClipboardCallback :: Maybe EntryPasteClipboardCallback
noEntryPasteClipboardCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryPasteClipboardCallback :: EntryPasteClipboardCallbackC -> IO (FunPtr EntryPasteClipboardCallbackC)

entryPasteClipboardClosure :: EntryPasteClipboardCallback -> IO Closure
entryPasteClipboardClosure cb = newCClosure =<< mkEntryPasteClipboardCallback wrapped
    where wrapped = entryPasteClipboardCallbackWrapper cb

entryPasteClipboardCallbackWrapper ::
    EntryPasteClipboardCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
entryPasteClipboardCallbackWrapper _cb _ _ = do
    _cb 

onEntryPasteClipboard :: (GObject a, MonadIO m) => a -> EntryPasteClipboardCallback -> m SignalHandlerId
onEntryPasteClipboard obj cb = liftIO $ connectEntryPasteClipboard obj cb SignalConnectBefore
afterEntryPasteClipboard :: (GObject a, MonadIO m) => a -> EntryPasteClipboardCallback -> m SignalHandlerId
afterEntryPasteClipboard obj cb = connectEntryPasteClipboard obj cb SignalConnectAfter

connectEntryPasteClipboard :: (GObject a, MonadIO m) =>
                              a -> EntryPasteClipboardCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryPasteClipboard obj cb after = liftIO $ do
    cb' <- mkEntryPasteClipboardCallback (entryPasteClipboardCallbackWrapper cb)
    connectSignalFunPtr obj "paste-clipboard" cb' after

-- signal Entry::populate-popup
type EntryPopulatePopupCallback =
    Widget ->
    IO ()

noEntryPopulatePopupCallback :: Maybe EntryPopulatePopupCallback
noEntryPopulatePopupCallback = Nothing

type EntryPopulatePopupCallbackC =
    Ptr () ->                               -- object
    Ptr Widget ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkEntryPopulatePopupCallback :: EntryPopulatePopupCallbackC -> IO (FunPtr EntryPopulatePopupCallbackC)

entryPopulatePopupClosure :: EntryPopulatePopupCallback -> IO Closure
entryPopulatePopupClosure cb = newCClosure =<< mkEntryPopulatePopupCallback wrapped
    where wrapped = entryPopulatePopupCallbackWrapper cb

entryPopulatePopupCallbackWrapper ::
    EntryPopulatePopupCallback ->
    Ptr () ->
    Ptr Widget ->
    Ptr () ->
    IO ()
entryPopulatePopupCallbackWrapper _cb _ popup _ = do
    popup' <- (newObject Widget) popup
    _cb  popup'

onEntryPopulatePopup :: (GObject a, MonadIO m) => a -> EntryPopulatePopupCallback -> m SignalHandlerId
onEntryPopulatePopup obj cb = liftIO $ connectEntryPopulatePopup obj cb SignalConnectBefore
afterEntryPopulatePopup :: (GObject a, MonadIO m) => a -> EntryPopulatePopupCallback -> m SignalHandlerId
afterEntryPopulatePopup obj cb = connectEntryPopulatePopup obj cb SignalConnectAfter

connectEntryPopulatePopup :: (GObject a, MonadIO m) =>
                             a -> EntryPopulatePopupCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryPopulatePopup obj cb after = liftIO $ do
    cb' <- mkEntryPopulatePopupCallback (entryPopulatePopupCallbackWrapper cb)
    connectSignalFunPtr obj "populate-popup" cb' after

-- signal Entry::preedit-changed
type EntryPreeditChangedCallback =
    T.Text ->
    IO ()

noEntryPreeditChangedCallback :: Maybe EntryPreeditChangedCallback
noEntryPreeditChangedCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryPreeditChangedCallback :: EntryPreeditChangedCallbackC -> IO (FunPtr EntryPreeditChangedCallbackC)

entryPreeditChangedClosure :: EntryPreeditChangedCallback -> IO Closure
entryPreeditChangedClosure cb = newCClosure =<< mkEntryPreeditChangedCallback wrapped
    where wrapped = entryPreeditChangedCallbackWrapper cb

entryPreeditChangedCallbackWrapper ::
    EntryPreeditChangedCallback ->
    Ptr () ->
    CString ->
    Ptr () ->
    IO ()
entryPreeditChangedCallbackWrapper _cb _ preedit _ = do
    preedit' <- cstringToText preedit
    _cb  preedit'

onEntryPreeditChanged :: (GObject a, MonadIO m) => a -> EntryPreeditChangedCallback -> m SignalHandlerId
onEntryPreeditChanged obj cb = liftIO $ connectEntryPreeditChanged obj cb SignalConnectBefore
afterEntryPreeditChanged :: (GObject a, MonadIO m) => a -> EntryPreeditChangedCallback -> m SignalHandlerId
afterEntryPreeditChanged obj cb = connectEntryPreeditChanged obj cb SignalConnectAfter

connectEntryPreeditChanged :: (GObject a, MonadIO m) =>
                              a -> EntryPreeditChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryPreeditChanged obj cb after = liftIO $ do
    cb' <- mkEntryPreeditChangedCallback (entryPreeditChangedCallbackWrapper cb)
    connectSignalFunPtr obj "preedit-changed" cb' after

-- signal Entry::toggle-overwrite
type EntryToggleOverwriteCallback =
    IO ()

noEntryToggleOverwriteCallback :: Maybe EntryToggleOverwriteCallback
noEntryToggleOverwriteCallback = Nothing

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

foreign import ccall "wrapper"
    mkEntryToggleOverwriteCallback :: EntryToggleOverwriteCallbackC -> IO (FunPtr EntryToggleOverwriteCallbackC)

entryToggleOverwriteClosure :: EntryToggleOverwriteCallback -> IO Closure
entryToggleOverwriteClosure cb = newCClosure =<< mkEntryToggleOverwriteCallback wrapped
    where wrapped = entryToggleOverwriteCallbackWrapper cb

entryToggleOverwriteCallbackWrapper ::
    EntryToggleOverwriteCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
entryToggleOverwriteCallbackWrapper _cb _ _ = do
    _cb 

onEntryToggleOverwrite :: (GObject a, MonadIO m) => a -> EntryToggleOverwriteCallback -> m SignalHandlerId
onEntryToggleOverwrite obj cb = liftIO $ connectEntryToggleOverwrite obj cb SignalConnectBefore
afterEntryToggleOverwrite :: (GObject a, MonadIO m) => a -> EntryToggleOverwriteCallback -> m SignalHandlerId
afterEntryToggleOverwrite obj cb = connectEntryToggleOverwrite obj cb SignalConnectAfter

connectEntryToggleOverwrite :: (GObject a, MonadIO m) =>
                               a -> EntryToggleOverwriteCallback -> SignalConnectMode -> m SignalHandlerId
connectEntryToggleOverwrite obj cb after = liftIO $ do
    cb' <- mkEntryToggleOverwriteCallback (entryToggleOverwriteCallbackWrapper cb)
    connectSignalFunPtr obj "toggle-overwrite" cb' after

-- VVV Prop "activates-default"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryActivatesDefault :: (MonadIO m, EntryK o) => o -> m Bool
getEntryActivatesDefault obj = liftIO $ getObjectPropertyBool obj "activates-default"

setEntryActivatesDefault :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryActivatesDefault obj val = liftIO $ setObjectPropertyBool obj "activates-default" val

constructEntryActivatesDefault :: Bool -> IO ([Char], GValue)
constructEntryActivatesDefault val = constructObjectPropertyBool "activates-default" val

data EntryActivatesDefaultPropertyInfo
instance AttrInfo EntryActivatesDefaultPropertyInfo where
    type AttrAllowedOps EntryActivatesDefaultPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryActivatesDefaultPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryActivatesDefaultPropertyInfo = EntryK
    type AttrGetType EntryActivatesDefaultPropertyInfo = Bool
    type AttrLabel EntryActivatesDefaultPropertyInfo = "Entry::activates-default"
    attrGet _ = getEntryActivatesDefault
    attrSet _ = setEntryActivatesDefault
    attrConstruct _ = constructEntryActivatesDefault

-- VVV Prop "attributes"
   -- Type: TInterface "Pango" "AttrList"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryAttributes :: (MonadIO m, EntryK o) => o -> m Pango.AttrList
getEntryAttributes obj = liftIO $ getObjectPropertyBoxed obj "attributes" Pango.AttrList

setEntryAttributes :: (MonadIO m, EntryK o) => o -> Pango.AttrList -> m ()
setEntryAttributes obj val = liftIO $ setObjectPropertyBoxed obj "attributes" val

constructEntryAttributes :: Pango.AttrList -> IO ([Char], GValue)
constructEntryAttributes val = constructObjectPropertyBoxed "attributes" val

data EntryAttributesPropertyInfo
instance AttrInfo EntryAttributesPropertyInfo where
    type AttrAllowedOps EntryAttributesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryAttributesPropertyInfo = (~) Pango.AttrList
    type AttrBaseTypeConstraint EntryAttributesPropertyInfo = EntryK
    type AttrGetType EntryAttributesPropertyInfo = Pango.AttrList
    type AttrLabel EntryAttributesPropertyInfo = "Entry::attributes"
    attrGet _ = getEntryAttributes
    attrSet _ = setEntryAttributes
    attrConstruct _ = constructEntryAttributes

-- VVV Prop "buffer"
   -- Type: TInterface "Gtk" "EntryBuffer"
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getEntryBuffer :: (MonadIO m, EntryK o) => o -> m EntryBuffer
getEntryBuffer obj = liftIO $ getObjectPropertyObject obj "buffer" EntryBuffer

setEntryBuffer :: (MonadIO m, EntryK o, EntryBufferK a) => o -> a -> m ()
setEntryBuffer obj val = liftIO $ setObjectPropertyObject obj "buffer" val

constructEntryBuffer :: (EntryBufferK a) => a -> IO ([Char], GValue)
constructEntryBuffer val = constructObjectPropertyObject "buffer" val

data EntryBufferPropertyInfo
instance AttrInfo EntryBufferPropertyInfo where
    type AttrAllowedOps EntryBufferPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryBufferPropertyInfo = EntryBufferK
    type AttrBaseTypeConstraint EntryBufferPropertyInfo = EntryK
    type AttrGetType EntryBufferPropertyInfo = EntryBuffer
    type AttrLabel EntryBufferPropertyInfo = "Entry::buffer"
    attrGet _ = getEntryBuffer
    attrSet _ = setEntryBuffer
    attrConstruct _ = constructEntryBuffer

-- VVV Prop "caps-lock-warning"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryCapsLockWarning :: (MonadIO m, EntryK o) => o -> m Bool
getEntryCapsLockWarning obj = liftIO $ getObjectPropertyBool obj "caps-lock-warning"

setEntryCapsLockWarning :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryCapsLockWarning obj val = liftIO $ setObjectPropertyBool obj "caps-lock-warning" val

constructEntryCapsLockWarning :: Bool -> IO ([Char], GValue)
constructEntryCapsLockWarning val = constructObjectPropertyBool "caps-lock-warning" val

data EntryCapsLockWarningPropertyInfo
instance AttrInfo EntryCapsLockWarningPropertyInfo where
    type AttrAllowedOps EntryCapsLockWarningPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryCapsLockWarningPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryCapsLockWarningPropertyInfo = EntryK
    type AttrGetType EntryCapsLockWarningPropertyInfo = Bool
    type AttrLabel EntryCapsLockWarningPropertyInfo = "Entry::caps-lock-warning"
    attrGet _ = getEntryCapsLockWarning
    attrSet _ = setEntryCapsLockWarning
    attrConstruct _ = constructEntryCapsLockWarning

-- VVV Prop "completion"
   -- Type: TInterface "Gtk" "EntryCompletion"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryCompletion :: (MonadIO m, EntryK o) => o -> m EntryCompletion
getEntryCompletion obj = liftIO $ getObjectPropertyObject obj "completion" EntryCompletion

setEntryCompletion :: (MonadIO m, EntryK o, EntryCompletionK a) => o -> a -> m ()
setEntryCompletion obj val = liftIO $ setObjectPropertyObject obj "completion" val

constructEntryCompletion :: (EntryCompletionK a) => a -> IO ([Char], GValue)
constructEntryCompletion val = constructObjectPropertyObject "completion" val

data EntryCompletionPropertyInfo
instance AttrInfo EntryCompletionPropertyInfo where
    type AttrAllowedOps EntryCompletionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryCompletionPropertyInfo = EntryCompletionK
    type AttrBaseTypeConstraint EntryCompletionPropertyInfo = EntryK
    type AttrGetType EntryCompletionPropertyInfo = EntryCompletion
    type AttrLabel EntryCompletionPropertyInfo = "Entry::completion"
    attrGet _ = getEntryCompletion
    attrSet _ = setEntryCompletion
    attrConstruct _ = constructEntryCompletion

-- VVV Prop "cursor-position"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable]

getEntryCursorPosition :: (MonadIO m, EntryK o) => o -> m Int32
getEntryCursorPosition obj = liftIO $ getObjectPropertyCInt obj "cursor-position"

data EntryCursorPositionPropertyInfo
instance AttrInfo EntryCursorPositionPropertyInfo where
    type AttrAllowedOps EntryCursorPositionPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint EntryCursorPositionPropertyInfo = (~) ()
    type AttrBaseTypeConstraint EntryCursorPositionPropertyInfo = EntryK
    type AttrGetType EntryCursorPositionPropertyInfo = Int32
    type AttrLabel EntryCursorPositionPropertyInfo = "Entry::cursor-position"
    attrGet _ = getEntryCursorPosition
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "editable"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryEditable :: (MonadIO m, EntryK o) => o -> m Bool
getEntryEditable obj = liftIO $ getObjectPropertyBool obj "editable"

setEntryEditable :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryEditable obj val = liftIO $ setObjectPropertyBool obj "editable" val

constructEntryEditable :: Bool -> IO ([Char], GValue)
constructEntryEditable val = constructObjectPropertyBool "editable" val

data EntryEditablePropertyInfo
instance AttrInfo EntryEditablePropertyInfo where
    type AttrAllowedOps EntryEditablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryEditablePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryEditablePropertyInfo = EntryK
    type AttrGetType EntryEditablePropertyInfo = Bool
    type AttrLabel EntryEditablePropertyInfo = "Entry::editable"
    attrGet _ = getEntryEditable
    attrSet _ = setEntryEditable
    attrConstruct _ = constructEntryEditable

-- VVV Prop "has-frame"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryHasFrame :: (MonadIO m, EntryK o) => o -> m Bool
getEntryHasFrame obj = liftIO $ getObjectPropertyBool obj "has-frame"

setEntryHasFrame :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryHasFrame obj val = liftIO $ setObjectPropertyBool obj "has-frame" val

constructEntryHasFrame :: Bool -> IO ([Char], GValue)
constructEntryHasFrame val = constructObjectPropertyBool "has-frame" val

data EntryHasFramePropertyInfo
instance AttrInfo EntryHasFramePropertyInfo where
    type AttrAllowedOps EntryHasFramePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryHasFramePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryHasFramePropertyInfo = EntryK
    type AttrGetType EntryHasFramePropertyInfo = Bool
    type AttrLabel EntryHasFramePropertyInfo = "Entry::has-frame"
    attrGet _ = getEntryHasFrame
    attrSet _ = setEntryHasFrame
    attrConstruct _ = constructEntryHasFrame

-- VVV Prop "im-module"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryImModule :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryImModule obj = liftIO $ getObjectPropertyString obj "im-module"

setEntryImModule :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryImModule obj val = liftIO $ setObjectPropertyString obj "im-module" val

constructEntryImModule :: T.Text -> IO ([Char], GValue)
constructEntryImModule val = constructObjectPropertyString "im-module" val

data EntryImModulePropertyInfo
instance AttrInfo EntryImModulePropertyInfo where
    type AttrAllowedOps EntryImModulePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryImModulePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryImModulePropertyInfo = EntryK
    type AttrGetType EntryImModulePropertyInfo = T.Text
    type AttrLabel EntryImModulePropertyInfo = "Entry::im-module"
    attrGet _ = getEntryImModule
    attrSet _ = setEntryImModule
    attrConstruct _ = constructEntryImModule

-- VVV Prop "inner-border"
   -- Type: TInterface "Gtk" "Border"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryInnerBorder :: (MonadIO m, EntryK o) => o -> m Border
getEntryInnerBorder obj = liftIO $ getObjectPropertyBoxed obj "inner-border" Border

setEntryInnerBorder :: (MonadIO m, EntryK o) => o -> Border -> m ()
setEntryInnerBorder obj val = liftIO $ setObjectPropertyBoxed obj "inner-border" val

constructEntryInnerBorder :: Border -> IO ([Char], GValue)
constructEntryInnerBorder val = constructObjectPropertyBoxed "inner-border" val

data EntryInnerBorderPropertyInfo
instance AttrInfo EntryInnerBorderPropertyInfo where
    type AttrAllowedOps EntryInnerBorderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInnerBorderPropertyInfo = (~) Border
    type AttrBaseTypeConstraint EntryInnerBorderPropertyInfo = EntryK
    type AttrGetType EntryInnerBorderPropertyInfo = Border
    type AttrLabel EntryInnerBorderPropertyInfo = "Entry::inner-border"
    attrGet _ = getEntryInnerBorder
    attrSet _ = setEntryInnerBorder
    attrConstruct _ = constructEntryInnerBorder

-- VVV Prop "input-hints"
   -- Type: TInterface "Gtk" "InputHints"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryInputHints :: (MonadIO m, EntryK o) => o -> m [InputHints]
getEntryInputHints obj = liftIO $ getObjectPropertyFlags obj "input-hints"

setEntryInputHints :: (MonadIO m, EntryK o) => o -> [InputHints] -> m ()
setEntryInputHints obj val = liftIO $ setObjectPropertyFlags obj "input-hints" val

constructEntryInputHints :: [InputHints] -> IO ([Char], GValue)
constructEntryInputHints val = constructObjectPropertyFlags "input-hints" val

data EntryInputHintsPropertyInfo
instance AttrInfo EntryInputHintsPropertyInfo where
    type AttrAllowedOps EntryInputHintsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInputHintsPropertyInfo = (~) [InputHints]
    type AttrBaseTypeConstraint EntryInputHintsPropertyInfo = EntryK
    type AttrGetType EntryInputHintsPropertyInfo = [InputHints]
    type AttrLabel EntryInputHintsPropertyInfo = "Entry::input-hints"
    attrGet _ = getEntryInputHints
    attrSet _ = setEntryInputHints
    attrConstruct _ = constructEntryInputHints

-- VVV Prop "input-purpose"
   -- Type: TInterface "Gtk" "InputPurpose"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryInputPurpose :: (MonadIO m, EntryK o) => o -> m InputPurpose
getEntryInputPurpose obj = liftIO $ getObjectPropertyEnum obj "input-purpose"

setEntryInputPurpose :: (MonadIO m, EntryK o) => o -> InputPurpose -> m ()
setEntryInputPurpose obj val = liftIO $ setObjectPropertyEnum obj "input-purpose" val

constructEntryInputPurpose :: InputPurpose -> IO ([Char], GValue)
constructEntryInputPurpose val = constructObjectPropertyEnum "input-purpose" val

data EntryInputPurposePropertyInfo
instance AttrInfo EntryInputPurposePropertyInfo where
    type AttrAllowedOps EntryInputPurposePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInputPurposePropertyInfo = (~) InputPurpose
    type AttrBaseTypeConstraint EntryInputPurposePropertyInfo = EntryK
    type AttrGetType EntryInputPurposePropertyInfo = InputPurpose
    type AttrLabel EntryInputPurposePropertyInfo = "Entry::input-purpose"
    attrGet _ = getEntryInputPurpose
    attrSet _ = setEntryInputPurpose
    attrConstruct _ = constructEntryInputPurpose

-- VVV Prop "invisible-char"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryInvisibleChar :: (MonadIO m, EntryK o) => o -> m Word32
getEntryInvisibleChar obj = liftIO $ getObjectPropertyCUInt obj "invisible-char"

setEntryInvisibleChar :: (MonadIO m, EntryK o) => o -> Word32 -> m ()
setEntryInvisibleChar obj val = liftIO $ setObjectPropertyCUInt obj "invisible-char" val

constructEntryInvisibleChar :: Word32 -> IO ([Char], GValue)
constructEntryInvisibleChar val = constructObjectPropertyCUInt "invisible-char" val

data EntryInvisibleCharPropertyInfo
instance AttrInfo EntryInvisibleCharPropertyInfo where
    type AttrAllowedOps EntryInvisibleCharPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInvisibleCharPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint EntryInvisibleCharPropertyInfo = EntryK
    type AttrGetType EntryInvisibleCharPropertyInfo = Word32
    type AttrLabel EntryInvisibleCharPropertyInfo = "Entry::invisible-char"
    attrGet _ = getEntryInvisibleChar
    attrSet _ = setEntryInvisibleChar
    attrConstruct _ = constructEntryInvisibleChar

-- VVV Prop "invisible-char-set"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryInvisibleCharSet :: (MonadIO m, EntryK o) => o -> m Bool
getEntryInvisibleCharSet obj = liftIO $ getObjectPropertyBool obj "invisible-char-set"

setEntryInvisibleCharSet :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryInvisibleCharSet obj val = liftIO $ setObjectPropertyBool obj "invisible-char-set" val

constructEntryInvisibleCharSet :: Bool -> IO ([Char], GValue)
constructEntryInvisibleCharSet val = constructObjectPropertyBool "invisible-char-set" val

data EntryInvisibleCharSetPropertyInfo
instance AttrInfo EntryInvisibleCharSetPropertyInfo where
    type AttrAllowedOps EntryInvisibleCharSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInvisibleCharSetPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryInvisibleCharSetPropertyInfo = EntryK
    type AttrGetType EntryInvisibleCharSetPropertyInfo = Bool
    type AttrLabel EntryInvisibleCharSetPropertyInfo = "Entry::invisible-char-set"
    attrGet _ = getEntryInvisibleCharSet
    attrSet _ = setEntryInvisibleCharSet
    attrConstruct _ = constructEntryInvisibleCharSet

-- VVV Prop "max-length"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryMaxLength :: (MonadIO m, EntryK o) => o -> m Int32
getEntryMaxLength obj = liftIO $ getObjectPropertyCInt obj "max-length"

setEntryMaxLength :: (MonadIO m, EntryK o) => o -> Int32 -> m ()
setEntryMaxLength obj val = liftIO $ setObjectPropertyCInt obj "max-length" val

constructEntryMaxLength :: Int32 -> IO ([Char], GValue)
constructEntryMaxLength val = constructObjectPropertyCInt "max-length" val

data EntryMaxLengthPropertyInfo
instance AttrInfo EntryMaxLengthPropertyInfo where
    type AttrAllowedOps EntryMaxLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryMaxLengthPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint EntryMaxLengthPropertyInfo = EntryK
    type AttrGetType EntryMaxLengthPropertyInfo = Int32
    type AttrLabel EntryMaxLengthPropertyInfo = "Entry::max-length"
    attrGet _ = getEntryMaxLength
    attrSet _ = setEntryMaxLength
    attrConstruct _ = constructEntryMaxLength

-- VVV Prop "max-width-chars"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryMaxWidthChars :: (MonadIO m, EntryK o) => o -> m Int32
getEntryMaxWidthChars obj = liftIO $ getObjectPropertyCInt obj "max-width-chars"

setEntryMaxWidthChars :: (MonadIO m, EntryK o) => o -> Int32 -> m ()
setEntryMaxWidthChars obj val = liftIO $ setObjectPropertyCInt obj "max-width-chars" val

constructEntryMaxWidthChars :: Int32 -> IO ([Char], GValue)
constructEntryMaxWidthChars val = constructObjectPropertyCInt "max-width-chars" val

data EntryMaxWidthCharsPropertyInfo
instance AttrInfo EntryMaxWidthCharsPropertyInfo where
    type AttrAllowedOps EntryMaxWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryMaxWidthCharsPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint EntryMaxWidthCharsPropertyInfo = EntryK
    type AttrGetType EntryMaxWidthCharsPropertyInfo = Int32
    type AttrLabel EntryMaxWidthCharsPropertyInfo = "Entry::max-width-chars"
    attrGet _ = getEntryMaxWidthChars
    attrSet _ = setEntryMaxWidthChars
    attrConstruct _ = constructEntryMaxWidthChars

-- VVV Prop "overwrite-mode"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryOverwriteMode :: (MonadIO m, EntryK o) => o -> m Bool
getEntryOverwriteMode obj = liftIO $ getObjectPropertyBool obj "overwrite-mode"

setEntryOverwriteMode :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryOverwriteMode obj val = liftIO $ setObjectPropertyBool obj "overwrite-mode" val

constructEntryOverwriteMode :: Bool -> IO ([Char], GValue)
constructEntryOverwriteMode val = constructObjectPropertyBool "overwrite-mode" val

data EntryOverwriteModePropertyInfo
instance AttrInfo EntryOverwriteModePropertyInfo where
    type AttrAllowedOps EntryOverwriteModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryOverwriteModePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryOverwriteModePropertyInfo = EntryK
    type AttrGetType EntryOverwriteModePropertyInfo = Bool
    type AttrLabel EntryOverwriteModePropertyInfo = "Entry::overwrite-mode"
    attrGet _ = getEntryOverwriteMode
    attrSet _ = setEntryOverwriteMode
    attrConstruct _ = constructEntryOverwriteMode

-- VVV Prop "placeholder-text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPlaceholderText :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryPlaceholderText obj = liftIO $ getObjectPropertyString obj "placeholder-text"

setEntryPlaceholderText :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryPlaceholderText obj val = liftIO $ setObjectPropertyString obj "placeholder-text" val

constructEntryPlaceholderText :: T.Text -> IO ([Char], GValue)
constructEntryPlaceholderText val = constructObjectPropertyString "placeholder-text" val

data EntryPlaceholderTextPropertyInfo
instance AttrInfo EntryPlaceholderTextPropertyInfo where
    type AttrAllowedOps EntryPlaceholderTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPlaceholderTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryPlaceholderTextPropertyInfo = EntryK
    type AttrGetType EntryPlaceholderTextPropertyInfo = T.Text
    type AttrLabel EntryPlaceholderTextPropertyInfo = "Entry::placeholder-text"
    attrGet _ = getEntryPlaceholderText
    attrSet _ = setEntryPlaceholderText
    attrConstruct _ = constructEntryPlaceholderText

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

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

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

constructEntryPopulateAll :: Bool -> IO ([Char], GValue)
constructEntryPopulateAll val = constructObjectPropertyBool "populate-all" val

data EntryPopulateAllPropertyInfo
instance AttrInfo EntryPopulateAllPropertyInfo where
    type AttrAllowedOps EntryPopulateAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPopulateAllPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryPopulateAllPropertyInfo = EntryK
    type AttrGetType EntryPopulateAllPropertyInfo = Bool
    type AttrLabel EntryPopulateAllPropertyInfo = "Entry::populate-all"
    attrGet _ = getEntryPopulateAll
    attrSet _ = setEntryPopulateAll
    attrConstruct _ = constructEntryPopulateAll

-- VVV Prop "primary-icon-activatable"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconActivatable :: (MonadIO m, EntryK o) => o -> m Bool
getEntryPrimaryIconActivatable obj = liftIO $ getObjectPropertyBool obj "primary-icon-activatable"

setEntryPrimaryIconActivatable :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryPrimaryIconActivatable obj val = liftIO $ setObjectPropertyBool obj "primary-icon-activatable" val

constructEntryPrimaryIconActivatable :: Bool -> IO ([Char], GValue)
constructEntryPrimaryIconActivatable val = constructObjectPropertyBool "primary-icon-activatable" val

data EntryPrimaryIconActivatablePropertyInfo
instance AttrInfo EntryPrimaryIconActivatablePropertyInfo where
    type AttrAllowedOps EntryPrimaryIconActivatablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconActivatablePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryPrimaryIconActivatablePropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconActivatablePropertyInfo = Bool
    type AttrLabel EntryPrimaryIconActivatablePropertyInfo = "Entry::primary-icon-activatable"
    attrGet _ = getEntryPrimaryIconActivatable
    attrSet _ = setEntryPrimaryIconActivatable
    attrConstruct _ = constructEntryPrimaryIconActivatable

-- VVV Prop "primary-icon-gicon"
   -- Type: TInterface "Gio" "Icon"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconGicon :: (MonadIO m, EntryK o) => o -> m Gio.Icon
getEntryPrimaryIconGicon obj = liftIO $ getObjectPropertyObject obj "primary-icon-gicon" Gio.Icon

setEntryPrimaryIconGicon :: (MonadIO m, EntryK o, Gio.IconK a) => o -> a -> m ()
setEntryPrimaryIconGicon obj val = liftIO $ setObjectPropertyObject obj "primary-icon-gicon" val

constructEntryPrimaryIconGicon :: (Gio.IconK a) => a -> IO ([Char], GValue)
constructEntryPrimaryIconGicon val = constructObjectPropertyObject "primary-icon-gicon" val

data EntryPrimaryIconGiconPropertyInfo
instance AttrInfo EntryPrimaryIconGiconPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconGiconPropertyInfo = Gio.IconK
    type AttrBaseTypeConstraint EntryPrimaryIconGiconPropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconGiconPropertyInfo = Gio.Icon
    type AttrLabel EntryPrimaryIconGiconPropertyInfo = "Entry::primary-icon-gicon"
    attrGet _ = getEntryPrimaryIconGicon
    attrSet _ = setEntryPrimaryIconGicon
    attrConstruct _ = constructEntryPrimaryIconGicon

-- VVV Prop "primary-icon-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconName :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryPrimaryIconName obj = liftIO $ getObjectPropertyString obj "primary-icon-name"

setEntryPrimaryIconName :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryPrimaryIconName obj val = liftIO $ setObjectPropertyString obj "primary-icon-name" val

constructEntryPrimaryIconName :: T.Text -> IO ([Char], GValue)
constructEntryPrimaryIconName val = constructObjectPropertyString "primary-icon-name" val

data EntryPrimaryIconNamePropertyInfo
instance AttrInfo EntryPrimaryIconNamePropertyInfo where
    type AttrAllowedOps EntryPrimaryIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryPrimaryIconNamePropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconNamePropertyInfo = T.Text
    type AttrLabel EntryPrimaryIconNamePropertyInfo = "Entry::primary-icon-name"
    attrGet _ = getEntryPrimaryIconName
    attrSet _ = setEntryPrimaryIconName
    attrConstruct _ = constructEntryPrimaryIconName

-- VVV Prop "primary-icon-pixbuf"
   -- Type: TInterface "GdkPixbuf" "Pixbuf"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconPixbuf :: (MonadIO m, EntryK o) => o -> m GdkPixbuf.Pixbuf
getEntryPrimaryIconPixbuf obj = liftIO $ getObjectPropertyObject obj "primary-icon-pixbuf" GdkPixbuf.Pixbuf

setEntryPrimaryIconPixbuf :: (MonadIO m, EntryK o, GdkPixbuf.PixbufK a) => o -> a -> m ()
setEntryPrimaryIconPixbuf obj val = liftIO $ setObjectPropertyObject obj "primary-icon-pixbuf" val

constructEntryPrimaryIconPixbuf :: (GdkPixbuf.PixbufK a) => a -> IO ([Char], GValue)
constructEntryPrimaryIconPixbuf val = constructObjectPropertyObject "primary-icon-pixbuf" val

data EntryPrimaryIconPixbufPropertyInfo
instance AttrInfo EntryPrimaryIconPixbufPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconPixbufPropertyInfo = GdkPixbuf.PixbufK
    type AttrBaseTypeConstraint EntryPrimaryIconPixbufPropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconPixbufPropertyInfo = GdkPixbuf.Pixbuf
    type AttrLabel EntryPrimaryIconPixbufPropertyInfo = "Entry::primary-icon-pixbuf"
    attrGet _ = getEntryPrimaryIconPixbuf
    attrSet _ = setEntryPrimaryIconPixbuf
    attrConstruct _ = constructEntryPrimaryIconPixbuf

-- VVV Prop "primary-icon-sensitive"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconSensitive :: (MonadIO m, EntryK o) => o -> m Bool
getEntryPrimaryIconSensitive obj = liftIO $ getObjectPropertyBool obj "primary-icon-sensitive"

setEntryPrimaryIconSensitive :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryPrimaryIconSensitive obj val = liftIO $ setObjectPropertyBool obj "primary-icon-sensitive" val

constructEntryPrimaryIconSensitive :: Bool -> IO ([Char], GValue)
constructEntryPrimaryIconSensitive val = constructObjectPropertyBool "primary-icon-sensitive" val

data EntryPrimaryIconSensitivePropertyInfo
instance AttrInfo EntryPrimaryIconSensitivePropertyInfo where
    type AttrAllowedOps EntryPrimaryIconSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconSensitivePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryPrimaryIconSensitivePropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconSensitivePropertyInfo = Bool
    type AttrLabel EntryPrimaryIconSensitivePropertyInfo = "Entry::primary-icon-sensitive"
    attrGet _ = getEntryPrimaryIconSensitive
    attrSet _ = setEntryPrimaryIconSensitive
    attrConstruct _ = constructEntryPrimaryIconSensitive

-- VVV Prop "primary-icon-stock"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconStock :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryPrimaryIconStock obj = liftIO $ getObjectPropertyString obj "primary-icon-stock"

setEntryPrimaryIconStock :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryPrimaryIconStock obj val = liftIO $ setObjectPropertyString obj "primary-icon-stock" val

constructEntryPrimaryIconStock :: T.Text -> IO ([Char], GValue)
constructEntryPrimaryIconStock val = constructObjectPropertyString "primary-icon-stock" val

data EntryPrimaryIconStockPropertyInfo
instance AttrInfo EntryPrimaryIconStockPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconStockPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryPrimaryIconStockPropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconStockPropertyInfo = T.Text
    type AttrLabel EntryPrimaryIconStockPropertyInfo = "Entry::primary-icon-stock"
    attrGet _ = getEntryPrimaryIconStock
    attrSet _ = setEntryPrimaryIconStock
    attrConstruct _ = constructEntryPrimaryIconStock

-- VVV Prop "primary-icon-storage-type"
   -- Type: TInterface "Gtk" "ImageType"
   -- Flags: [PropertyReadable]

getEntryPrimaryIconStorageType :: (MonadIO m, EntryK o) => o -> m ImageType
getEntryPrimaryIconStorageType obj = liftIO $ getObjectPropertyEnum obj "primary-icon-storage-type"

data EntryPrimaryIconStorageTypePropertyInfo
instance AttrInfo EntryPrimaryIconStorageTypePropertyInfo where
    type AttrAllowedOps EntryPrimaryIconStorageTypePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconStorageTypePropertyInfo = (~) ()
    type AttrBaseTypeConstraint EntryPrimaryIconStorageTypePropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconStorageTypePropertyInfo = ImageType
    type AttrLabel EntryPrimaryIconStorageTypePropertyInfo = "Entry::primary-icon-storage-type"
    attrGet _ = getEntryPrimaryIconStorageType
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "primary-icon-tooltip-markup"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconTooltipMarkup :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryPrimaryIconTooltipMarkup obj = liftIO $ getObjectPropertyString obj "primary-icon-tooltip-markup"

setEntryPrimaryIconTooltipMarkup :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryPrimaryIconTooltipMarkup obj val = liftIO $ setObjectPropertyString obj "primary-icon-tooltip-markup" val

constructEntryPrimaryIconTooltipMarkup :: T.Text -> IO ([Char], GValue)
constructEntryPrimaryIconTooltipMarkup val = constructObjectPropertyString "primary-icon-tooltip-markup" val

data EntryPrimaryIconTooltipMarkupPropertyInfo
instance AttrInfo EntryPrimaryIconTooltipMarkupPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconTooltipMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconTooltipMarkupPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryPrimaryIconTooltipMarkupPropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconTooltipMarkupPropertyInfo = T.Text
    type AttrLabel EntryPrimaryIconTooltipMarkupPropertyInfo = "Entry::primary-icon-tooltip-markup"
    attrGet _ = getEntryPrimaryIconTooltipMarkup
    attrSet _ = setEntryPrimaryIconTooltipMarkup
    attrConstruct _ = constructEntryPrimaryIconTooltipMarkup

-- VVV Prop "primary-icon-tooltip-text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryPrimaryIconTooltipText :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryPrimaryIconTooltipText obj = liftIO $ getObjectPropertyString obj "primary-icon-tooltip-text"

setEntryPrimaryIconTooltipText :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryPrimaryIconTooltipText obj val = liftIO $ setObjectPropertyString obj "primary-icon-tooltip-text" val

constructEntryPrimaryIconTooltipText :: T.Text -> IO ([Char], GValue)
constructEntryPrimaryIconTooltipText val = constructObjectPropertyString "primary-icon-tooltip-text" val

data EntryPrimaryIconTooltipTextPropertyInfo
instance AttrInfo EntryPrimaryIconTooltipTextPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconTooltipTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryPrimaryIconTooltipTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryPrimaryIconTooltipTextPropertyInfo = EntryK
    type AttrGetType EntryPrimaryIconTooltipTextPropertyInfo = T.Text
    type AttrLabel EntryPrimaryIconTooltipTextPropertyInfo = "Entry::primary-icon-tooltip-text"
    attrGet _ = getEntryPrimaryIconTooltipText
    attrSet _ = setEntryPrimaryIconTooltipText
    attrConstruct _ = constructEntryPrimaryIconTooltipText

-- VVV Prop "progress-fraction"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryProgressFraction :: (MonadIO m, EntryK o) => o -> m Double
getEntryProgressFraction obj = liftIO $ getObjectPropertyDouble obj "progress-fraction"

setEntryProgressFraction :: (MonadIO m, EntryK o) => o -> Double -> m ()
setEntryProgressFraction obj val = liftIO $ setObjectPropertyDouble obj "progress-fraction" val

constructEntryProgressFraction :: Double -> IO ([Char], GValue)
constructEntryProgressFraction val = constructObjectPropertyDouble "progress-fraction" val

data EntryProgressFractionPropertyInfo
instance AttrInfo EntryProgressFractionPropertyInfo where
    type AttrAllowedOps EntryProgressFractionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryProgressFractionPropertyInfo = (~) Double
    type AttrBaseTypeConstraint EntryProgressFractionPropertyInfo = EntryK
    type AttrGetType EntryProgressFractionPropertyInfo = Double
    type AttrLabel EntryProgressFractionPropertyInfo = "Entry::progress-fraction"
    attrGet _ = getEntryProgressFraction
    attrSet _ = setEntryProgressFraction
    attrConstruct _ = constructEntryProgressFraction

-- VVV Prop "progress-pulse-step"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryProgressPulseStep :: (MonadIO m, EntryK o) => o -> m Double
getEntryProgressPulseStep obj = liftIO $ getObjectPropertyDouble obj "progress-pulse-step"

setEntryProgressPulseStep :: (MonadIO m, EntryK o) => o -> Double -> m ()
setEntryProgressPulseStep obj val = liftIO $ setObjectPropertyDouble obj "progress-pulse-step" val

constructEntryProgressPulseStep :: Double -> IO ([Char], GValue)
constructEntryProgressPulseStep val = constructObjectPropertyDouble "progress-pulse-step" val

data EntryProgressPulseStepPropertyInfo
instance AttrInfo EntryProgressPulseStepPropertyInfo where
    type AttrAllowedOps EntryProgressPulseStepPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryProgressPulseStepPropertyInfo = (~) Double
    type AttrBaseTypeConstraint EntryProgressPulseStepPropertyInfo = EntryK
    type AttrGetType EntryProgressPulseStepPropertyInfo = Double
    type AttrLabel EntryProgressPulseStepPropertyInfo = "Entry::progress-pulse-step"
    attrGet _ = getEntryProgressPulseStep
    attrSet _ = setEntryProgressPulseStep
    attrConstruct _ = constructEntryProgressPulseStep

-- VVV Prop "scroll-offset"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable]

getEntryScrollOffset :: (MonadIO m, EntryK o) => o -> m Int32
getEntryScrollOffset obj = liftIO $ getObjectPropertyCInt obj "scroll-offset"

data EntryScrollOffsetPropertyInfo
instance AttrInfo EntryScrollOffsetPropertyInfo where
    type AttrAllowedOps EntryScrollOffsetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint EntryScrollOffsetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint EntryScrollOffsetPropertyInfo = EntryK
    type AttrGetType EntryScrollOffsetPropertyInfo = Int32
    type AttrLabel EntryScrollOffsetPropertyInfo = "Entry::scroll-offset"
    attrGet _ = getEntryScrollOffset
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "secondary-icon-activatable"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconActivatable :: (MonadIO m, EntryK o) => o -> m Bool
getEntrySecondaryIconActivatable obj = liftIO $ getObjectPropertyBool obj "secondary-icon-activatable"

setEntrySecondaryIconActivatable :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntrySecondaryIconActivatable obj val = liftIO $ setObjectPropertyBool obj "secondary-icon-activatable" val

constructEntrySecondaryIconActivatable :: Bool -> IO ([Char], GValue)
constructEntrySecondaryIconActivatable val = constructObjectPropertyBool "secondary-icon-activatable" val

data EntrySecondaryIconActivatablePropertyInfo
instance AttrInfo EntrySecondaryIconActivatablePropertyInfo where
    type AttrAllowedOps EntrySecondaryIconActivatablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconActivatablePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntrySecondaryIconActivatablePropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconActivatablePropertyInfo = Bool
    type AttrLabel EntrySecondaryIconActivatablePropertyInfo = "Entry::secondary-icon-activatable"
    attrGet _ = getEntrySecondaryIconActivatable
    attrSet _ = setEntrySecondaryIconActivatable
    attrConstruct _ = constructEntrySecondaryIconActivatable

-- VVV Prop "secondary-icon-gicon"
   -- Type: TInterface "Gio" "Icon"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconGicon :: (MonadIO m, EntryK o) => o -> m Gio.Icon
getEntrySecondaryIconGicon obj = liftIO $ getObjectPropertyObject obj "secondary-icon-gicon" Gio.Icon

setEntrySecondaryIconGicon :: (MonadIO m, EntryK o, Gio.IconK a) => o -> a -> m ()
setEntrySecondaryIconGicon obj val = liftIO $ setObjectPropertyObject obj "secondary-icon-gicon" val

constructEntrySecondaryIconGicon :: (Gio.IconK a) => a -> IO ([Char], GValue)
constructEntrySecondaryIconGicon val = constructObjectPropertyObject "secondary-icon-gicon" val

data EntrySecondaryIconGiconPropertyInfo
instance AttrInfo EntrySecondaryIconGiconPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconGiconPropertyInfo = Gio.IconK
    type AttrBaseTypeConstraint EntrySecondaryIconGiconPropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconGiconPropertyInfo = Gio.Icon
    type AttrLabel EntrySecondaryIconGiconPropertyInfo = "Entry::secondary-icon-gicon"
    attrGet _ = getEntrySecondaryIconGicon
    attrSet _ = setEntrySecondaryIconGicon
    attrConstruct _ = constructEntrySecondaryIconGicon

-- VVV Prop "secondary-icon-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconName :: (MonadIO m, EntryK o) => o -> m T.Text
getEntrySecondaryIconName obj = liftIO $ getObjectPropertyString obj "secondary-icon-name"

setEntrySecondaryIconName :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntrySecondaryIconName obj val = liftIO $ setObjectPropertyString obj "secondary-icon-name" val

constructEntrySecondaryIconName :: T.Text -> IO ([Char], GValue)
constructEntrySecondaryIconName val = constructObjectPropertyString "secondary-icon-name" val

data EntrySecondaryIconNamePropertyInfo
instance AttrInfo EntrySecondaryIconNamePropertyInfo where
    type AttrAllowedOps EntrySecondaryIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntrySecondaryIconNamePropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconNamePropertyInfo = T.Text
    type AttrLabel EntrySecondaryIconNamePropertyInfo = "Entry::secondary-icon-name"
    attrGet _ = getEntrySecondaryIconName
    attrSet _ = setEntrySecondaryIconName
    attrConstruct _ = constructEntrySecondaryIconName

-- VVV Prop "secondary-icon-pixbuf"
   -- Type: TInterface "GdkPixbuf" "Pixbuf"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconPixbuf :: (MonadIO m, EntryK o) => o -> m GdkPixbuf.Pixbuf
getEntrySecondaryIconPixbuf obj = liftIO $ getObjectPropertyObject obj "secondary-icon-pixbuf" GdkPixbuf.Pixbuf

setEntrySecondaryIconPixbuf :: (MonadIO m, EntryK o, GdkPixbuf.PixbufK a) => o -> a -> m ()
setEntrySecondaryIconPixbuf obj val = liftIO $ setObjectPropertyObject obj "secondary-icon-pixbuf" val

constructEntrySecondaryIconPixbuf :: (GdkPixbuf.PixbufK a) => a -> IO ([Char], GValue)
constructEntrySecondaryIconPixbuf val = constructObjectPropertyObject "secondary-icon-pixbuf" val

data EntrySecondaryIconPixbufPropertyInfo
instance AttrInfo EntrySecondaryIconPixbufPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconPixbufPropertyInfo = GdkPixbuf.PixbufK
    type AttrBaseTypeConstraint EntrySecondaryIconPixbufPropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconPixbufPropertyInfo = GdkPixbuf.Pixbuf
    type AttrLabel EntrySecondaryIconPixbufPropertyInfo = "Entry::secondary-icon-pixbuf"
    attrGet _ = getEntrySecondaryIconPixbuf
    attrSet _ = setEntrySecondaryIconPixbuf
    attrConstruct _ = constructEntrySecondaryIconPixbuf

-- VVV Prop "secondary-icon-sensitive"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconSensitive :: (MonadIO m, EntryK o) => o -> m Bool
getEntrySecondaryIconSensitive obj = liftIO $ getObjectPropertyBool obj "secondary-icon-sensitive"

setEntrySecondaryIconSensitive :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntrySecondaryIconSensitive obj val = liftIO $ setObjectPropertyBool obj "secondary-icon-sensitive" val

constructEntrySecondaryIconSensitive :: Bool -> IO ([Char], GValue)
constructEntrySecondaryIconSensitive val = constructObjectPropertyBool "secondary-icon-sensitive" val

data EntrySecondaryIconSensitivePropertyInfo
instance AttrInfo EntrySecondaryIconSensitivePropertyInfo where
    type AttrAllowedOps EntrySecondaryIconSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconSensitivePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntrySecondaryIconSensitivePropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconSensitivePropertyInfo = Bool
    type AttrLabel EntrySecondaryIconSensitivePropertyInfo = "Entry::secondary-icon-sensitive"
    attrGet _ = getEntrySecondaryIconSensitive
    attrSet _ = setEntrySecondaryIconSensitive
    attrConstruct _ = constructEntrySecondaryIconSensitive

-- VVV Prop "secondary-icon-stock"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconStock :: (MonadIO m, EntryK o) => o -> m T.Text
getEntrySecondaryIconStock obj = liftIO $ getObjectPropertyString obj "secondary-icon-stock"

setEntrySecondaryIconStock :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntrySecondaryIconStock obj val = liftIO $ setObjectPropertyString obj "secondary-icon-stock" val

constructEntrySecondaryIconStock :: T.Text -> IO ([Char], GValue)
constructEntrySecondaryIconStock val = constructObjectPropertyString "secondary-icon-stock" val

data EntrySecondaryIconStockPropertyInfo
instance AttrInfo EntrySecondaryIconStockPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconStockPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntrySecondaryIconStockPropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconStockPropertyInfo = T.Text
    type AttrLabel EntrySecondaryIconStockPropertyInfo = "Entry::secondary-icon-stock"
    attrGet _ = getEntrySecondaryIconStock
    attrSet _ = setEntrySecondaryIconStock
    attrConstruct _ = constructEntrySecondaryIconStock

-- VVV Prop "secondary-icon-storage-type"
   -- Type: TInterface "Gtk" "ImageType"
   -- Flags: [PropertyReadable]

getEntrySecondaryIconStorageType :: (MonadIO m, EntryK o) => o -> m ImageType
getEntrySecondaryIconStorageType obj = liftIO $ getObjectPropertyEnum obj "secondary-icon-storage-type"

data EntrySecondaryIconStorageTypePropertyInfo
instance AttrInfo EntrySecondaryIconStorageTypePropertyInfo where
    type AttrAllowedOps EntrySecondaryIconStorageTypePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconStorageTypePropertyInfo = (~) ()
    type AttrBaseTypeConstraint EntrySecondaryIconStorageTypePropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconStorageTypePropertyInfo = ImageType
    type AttrLabel EntrySecondaryIconStorageTypePropertyInfo = "Entry::secondary-icon-storage-type"
    attrGet _ = getEntrySecondaryIconStorageType
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "secondary-icon-tooltip-markup"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconTooltipMarkup :: (MonadIO m, EntryK o) => o -> m T.Text
getEntrySecondaryIconTooltipMarkup obj = liftIO $ getObjectPropertyString obj "secondary-icon-tooltip-markup"

setEntrySecondaryIconTooltipMarkup :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntrySecondaryIconTooltipMarkup obj val = liftIO $ setObjectPropertyString obj "secondary-icon-tooltip-markup" val

constructEntrySecondaryIconTooltipMarkup :: T.Text -> IO ([Char], GValue)
constructEntrySecondaryIconTooltipMarkup val = constructObjectPropertyString "secondary-icon-tooltip-markup" val

data EntrySecondaryIconTooltipMarkupPropertyInfo
instance AttrInfo EntrySecondaryIconTooltipMarkupPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconTooltipMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconTooltipMarkupPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntrySecondaryIconTooltipMarkupPropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconTooltipMarkupPropertyInfo = T.Text
    type AttrLabel EntrySecondaryIconTooltipMarkupPropertyInfo = "Entry::secondary-icon-tooltip-markup"
    attrGet _ = getEntrySecondaryIconTooltipMarkup
    attrSet _ = setEntrySecondaryIconTooltipMarkup
    attrConstruct _ = constructEntrySecondaryIconTooltipMarkup

-- VVV Prop "secondary-icon-tooltip-text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntrySecondaryIconTooltipText :: (MonadIO m, EntryK o) => o -> m T.Text
getEntrySecondaryIconTooltipText obj = liftIO $ getObjectPropertyString obj "secondary-icon-tooltip-text"

setEntrySecondaryIconTooltipText :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntrySecondaryIconTooltipText obj val = liftIO $ setObjectPropertyString obj "secondary-icon-tooltip-text" val

constructEntrySecondaryIconTooltipText :: T.Text -> IO ([Char], GValue)
constructEntrySecondaryIconTooltipText val = constructObjectPropertyString "secondary-icon-tooltip-text" val

data EntrySecondaryIconTooltipTextPropertyInfo
instance AttrInfo EntrySecondaryIconTooltipTextPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconTooltipTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntrySecondaryIconTooltipTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntrySecondaryIconTooltipTextPropertyInfo = EntryK
    type AttrGetType EntrySecondaryIconTooltipTextPropertyInfo = T.Text
    type AttrLabel EntrySecondaryIconTooltipTextPropertyInfo = "Entry::secondary-icon-tooltip-text"
    attrGet _ = getEntrySecondaryIconTooltipText
    attrSet _ = setEntrySecondaryIconTooltipText
    attrConstruct _ = constructEntrySecondaryIconTooltipText

-- VVV Prop "selection-bound"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable]

getEntrySelectionBound :: (MonadIO m, EntryK o) => o -> m Int32
getEntrySelectionBound obj = liftIO $ getObjectPropertyCInt obj "selection-bound"

data EntrySelectionBoundPropertyInfo
instance AttrInfo EntrySelectionBoundPropertyInfo where
    type AttrAllowedOps EntrySelectionBoundPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint EntrySelectionBoundPropertyInfo = (~) ()
    type AttrBaseTypeConstraint EntrySelectionBoundPropertyInfo = EntryK
    type AttrGetType EntrySelectionBoundPropertyInfo = Int32
    type AttrLabel EntrySelectionBoundPropertyInfo = "Entry::selection-bound"
    attrGet _ = getEntrySelectionBound
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "shadow-type"
   -- Type: TInterface "Gtk" "ShadowType"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryShadowType :: (MonadIO m, EntryK o) => o -> m ShadowType
getEntryShadowType obj = liftIO $ getObjectPropertyEnum obj "shadow-type"

setEntryShadowType :: (MonadIO m, EntryK o) => o -> ShadowType -> m ()
setEntryShadowType obj val = liftIO $ setObjectPropertyEnum obj "shadow-type" val

constructEntryShadowType :: ShadowType -> IO ([Char], GValue)
constructEntryShadowType val = constructObjectPropertyEnum "shadow-type" val

data EntryShadowTypePropertyInfo
instance AttrInfo EntryShadowTypePropertyInfo where
    type AttrAllowedOps EntryShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryShadowTypePropertyInfo = (~) ShadowType
    type AttrBaseTypeConstraint EntryShadowTypePropertyInfo = EntryK
    type AttrGetType EntryShadowTypePropertyInfo = ShadowType
    type AttrLabel EntryShadowTypePropertyInfo = "Entry::shadow-type"
    attrGet _ = getEntryShadowType
    attrSet _ = setEntryShadowType
    attrConstruct _ = constructEntryShadowType

-- VVV Prop "tabs"
   -- Type: TInterface "Pango" "TabArray"
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryTabs :: (MonadIO m, EntryK o) => o -> m Pango.TabArray
getEntryTabs obj = liftIO $ getObjectPropertyBoxed obj "tabs" Pango.TabArray

setEntryTabs :: (MonadIO m, EntryK o) => o -> Pango.TabArray -> m ()
setEntryTabs obj val = liftIO $ setObjectPropertyBoxed obj "tabs" val

constructEntryTabs :: Pango.TabArray -> IO ([Char], GValue)
constructEntryTabs val = constructObjectPropertyBoxed "tabs" val

data EntryTabsPropertyInfo
instance AttrInfo EntryTabsPropertyInfo where
    type AttrAllowedOps EntryTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryTabsPropertyInfo = (~) Pango.TabArray
    type AttrBaseTypeConstraint EntryTabsPropertyInfo = EntryK
    type AttrGetType EntryTabsPropertyInfo = Pango.TabArray
    type AttrLabel EntryTabsPropertyInfo = "Entry::tabs"
    attrGet _ = getEntryTabs
    attrSet _ = setEntryTabs
    attrConstruct _ = constructEntryTabs

-- VVV Prop "text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryText :: (MonadIO m, EntryK o) => o -> m T.Text
getEntryText obj = liftIO $ getObjectPropertyString obj "text"

setEntryText :: (MonadIO m, EntryK o) => o -> T.Text -> m ()
setEntryText obj val = liftIO $ setObjectPropertyString obj "text" val

constructEntryText :: T.Text -> IO ([Char], GValue)
constructEntryText val = constructObjectPropertyString "text" val

data EntryTextPropertyInfo
instance AttrInfo EntryTextPropertyInfo where
    type AttrAllowedOps EntryTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint EntryTextPropertyInfo = EntryK
    type AttrGetType EntryTextPropertyInfo = T.Text
    type AttrLabel EntryTextPropertyInfo = "Entry::text"
    attrGet _ = getEntryText
    attrSet _ = setEntryText
    attrConstruct _ = constructEntryText

-- VVV Prop "text-length"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable]

getEntryTextLength :: (MonadIO m, EntryK o) => o -> m Word32
getEntryTextLength obj = liftIO $ getObjectPropertyCUInt obj "text-length"

data EntryTextLengthPropertyInfo
instance AttrInfo EntryTextLengthPropertyInfo where
    type AttrAllowedOps EntryTextLengthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint EntryTextLengthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint EntryTextLengthPropertyInfo = EntryK
    type AttrGetType EntryTextLengthPropertyInfo = Word32
    type AttrLabel EntryTextLengthPropertyInfo = "Entry::text-length"
    attrGet _ = getEntryTextLength
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "truncate-multiline"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryTruncateMultiline :: (MonadIO m, EntryK o) => o -> m Bool
getEntryTruncateMultiline obj = liftIO $ getObjectPropertyBool obj "truncate-multiline"

setEntryTruncateMultiline :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryTruncateMultiline obj val = liftIO $ setObjectPropertyBool obj "truncate-multiline" val

constructEntryTruncateMultiline :: Bool -> IO ([Char], GValue)
constructEntryTruncateMultiline val = constructObjectPropertyBool "truncate-multiline" val

data EntryTruncateMultilinePropertyInfo
instance AttrInfo EntryTruncateMultilinePropertyInfo where
    type AttrAllowedOps EntryTruncateMultilinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryTruncateMultilinePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryTruncateMultilinePropertyInfo = EntryK
    type AttrGetType EntryTruncateMultilinePropertyInfo = Bool
    type AttrLabel EntryTruncateMultilinePropertyInfo = "Entry::truncate-multiline"
    attrGet _ = getEntryTruncateMultiline
    attrSet _ = setEntryTruncateMultiline
    attrConstruct _ = constructEntryTruncateMultiline

-- VVV Prop "visibility"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryVisibility :: (MonadIO m, EntryK o) => o -> m Bool
getEntryVisibility obj = liftIO $ getObjectPropertyBool obj "visibility"

setEntryVisibility :: (MonadIO m, EntryK o) => o -> Bool -> m ()
setEntryVisibility obj val = liftIO $ setObjectPropertyBool obj "visibility" val

constructEntryVisibility :: Bool -> IO ([Char], GValue)
constructEntryVisibility val = constructObjectPropertyBool "visibility" val

data EntryVisibilityPropertyInfo
instance AttrInfo EntryVisibilityPropertyInfo where
    type AttrAllowedOps EntryVisibilityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryVisibilityPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint EntryVisibilityPropertyInfo = EntryK
    type AttrGetType EntryVisibilityPropertyInfo = Bool
    type AttrLabel EntryVisibilityPropertyInfo = "Entry::visibility"
    attrGet _ = getEntryVisibility
    attrSet _ = setEntryVisibility
    attrConstruct _ = constructEntryVisibility

-- VVV Prop "width-chars"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryWidthChars :: (MonadIO m, EntryK o) => o -> m Int32
getEntryWidthChars obj = liftIO $ getObjectPropertyCInt obj "width-chars"

setEntryWidthChars :: (MonadIO m, EntryK o) => o -> Int32 -> m ()
setEntryWidthChars obj val = liftIO $ setObjectPropertyCInt obj "width-chars" val

constructEntryWidthChars :: Int32 -> IO ([Char], GValue)
constructEntryWidthChars val = constructObjectPropertyCInt "width-chars" val

data EntryWidthCharsPropertyInfo
instance AttrInfo EntryWidthCharsPropertyInfo where
    type AttrAllowedOps EntryWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryWidthCharsPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint EntryWidthCharsPropertyInfo = EntryK
    type AttrGetType EntryWidthCharsPropertyInfo = Int32
    type AttrLabel EntryWidthCharsPropertyInfo = "Entry::width-chars"
    attrGet _ = getEntryWidthChars
    attrSet _ = setEntryWidthChars
    attrConstruct _ = constructEntryWidthChars

-- VVV Prop "xalign"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable,PropertyWritable]

getEntryXalign :: (MonadIO m, EntryK o) => o -> m Float
getEntryXalign obj = liftIO $ getObjectPropertyFloat obj "xalign"

setEntryXalign :: (MonadIO m, EntryK o) => o -> Float -> m ()
setEntryXalign obj val = liftIO $ setObjectPropertyFloat obj "xalign" val

constructEntryXalign :: Float -> IO ([Char], GValue)
constructEntryXalign val = constructObjectPropertyFloat "xalign" val

data EntryXalignPropertyInfo
instance AttrInfo EntryXalignPropertyInfo where
    type AttrAllowedOps EntryXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryXalignPropertyInfo = (~) Float
    type AttrBaseTypeConstraint EntryXalignPropertyInfo = EntryK
    type AttrGetType EntryXalignPropertyInfo = Float
    type AttrLabel EntryXalignPropertyInfo = "Entry::xalign"
    attrGet _ = getEntryXalign
    attrSet _ = setEntryXalign
    attrConstruct _ = constructEntryXalign

type instance AttributeList Entry = EntryAttributeList
type EntryAttributeList = ('[ '("activates-default", EntryActivatesDefaultPropertyInfo), '("app-paintable", WidgetAppPaintablePropertyInfo), '("attributes", EntryAttributesPropertyInfo), '("buffer", EntryBufferPropertyInfo), '("can-default", WidgetCanDefaultPropertyInfo), '("can-focus", WidgetCanFocusPropertyInfo), '("caps-lock-warning", EntryCapsLockWarningPropertyInfo), '("completion", EntryCompletionPropertyInfo), '("composite-child", WidgetCompositeChildPropertyInfo), '("cursor-position", EntryCursorPositionPropertyInfo), '("double-buffered", WidgetDoubleBufferedPropertyInfo), '("editable", EntryEditablePropertyInfo), '("editing-canceled", CellEditableEditingCanceledPropertyInfo), '("events", WidgetEventsPropertyInfo), '("expand", WidgetExpandPropertyInfo), '("halign", WidgetHalignPropertyInfo), '("has-default", WidgetHasDefaultPropertyInfo), '("has-focus", WidgetHasFocusPropertyInfo), '("has-frame", EntryHasFramePropertyInfo), '("has-tooltip", WidgetHasTooltipPropertyInfo), '("height-request", WidgetHeightRequestPropertyInfo), '("hexpand", WidgetHexpandPropertyInfo), '("hexpand-set", WidgetHexpandSetPropertyInfo), '("im-module", EntryImModulePropertyInfo), '("inner-border", EntryInnerBorderPropertyInfo), '("input-hints", EntryInputHintsPropertyInfo), '("input-purpose", EntryInputPurposePropertyInfo), '("invisible-char", EntryInvisibleCharPropertyInfo), '("invisible-char-set", EntryInvisibleCharSetPropertyInfo), '("is-focus", WidgetIsFocusPropertyInfo), '("margin", WidgetMarginPropertyInfo), '("margin-bottom", WidgetMarginBottomPropertyInfo), '("margin-end", WidgetMarginEndPropertyInfo), '("margin-left", WidgetMarginLeftPropertyInfo), '("margin-right", WidgetMarginRightPropertyInfo), '("margin-start", WidgetMarginStartPropertyInfo), '("margin-top", WidgetMarginTopPropertyInfo), '("max-length", EntryMaxLengthPropertyInfo), '("max-width-chars", EntryMaxWidthCharsPropertyInfo), '("name", WidgetNamePropertyInfo), '("no-show-all", WidgetNoShowAllPropertyInfo), '("opacity", WidgetOpacityPropertyInfo), '("overwrite-mode", EntryOverwriteModePropertyInfo), '("parent", WidgetParentPropertyInfo), '("placeholder-text", EntryPlaceholderTextPropertyInfo), '("populate-all", EntryPopulateAllPropertyInfo), '("primary-icon-activatable", EntryPrimaryIconActivatablePropertyInfo), '("primary-icon-gicon", EntryPrimaryIconGiconPropertyInfo), '("primary-icon-name", EntryPrimaryIconNamePropertyInfo), '("primary-icon-pixbuf", EntryPrimaryIconPixbufPropertyInfo), '("primary-icon-sensitive", EntryPrimaryIconSensitivePropertyInfo), '("primary-icon-stock", EntryPrimaryIconStockPropertyInfo), '("primary-icon-storage-type", EntryPrimaryIconStorageTypePropertyInfo), '("primary-icon-tooltip-markup", EntryPrimaryIconTooltipMarkupPropertyInfo), '("primary-icon-tooltip-text", EntryPrimaryIconTooltipTextPropertyInfo), '("progress-fraction", EntryProgressFractionPropertyInfo), '("progress-pulse-step", EntryProgressPulseStepPropertyInfo), '("receives-default", WidgetReceivesDefaultPropertyInfo), '("scale-factor", WidgetScaleFactorPropertyInfo), '("scroll-offset", EntryScrollOffsetPropertyInfo), '("secondary-icon-activatable", EntrySecondaryIconActivatablePropertyInfo), '("secondary-icon-gicon", EntrySecondaryIconGiconPropertyInfo), '("secondary-icon-name", EntrySecondaryIconNamePropertyInfo), '("secondary-icon-pixbuf", EntrySecondaryIconPixbufPropertyInfo), '("secondary-icon-sensitive", EntrySecondaryIconSensitivePropertyInfo), '("secondary-icon-stock", EntrySecondaryIconStockPropertyInfo), '("secondary-icon-storage-type", EntrySecondaryIconStorageTypePropertyInfo), '("secondary-icon-tooltip-markup", EntrySecondaryIconTooltipMarkupPropertyInfo), '("secondary-icon-tooltip-text", EntrySecondaryIconTooltipTextPropertyInfo), '("selection-bound", EntrySelectionBoundPropertyInfo), '("sensitive", WidgetSensitivePropertyInfo), '("shadow-type", EntryShadowTypePropertyInfo), '("style", WidgetStylePropertyInfo), '("tabs", EntryTabsPropertyInfo), '("text", EntryTextPropertyInfo), '("text-length", EntryTextLengthPropertyInfo), '("tooltip-markup", WidgetTooltipMarkupPropertyInfo), '("tooltip-text", WidgetTooltipTextPropertyInfo), '("truncate-multiline", EntryTruncateMultilinePropertyInfo), '("valign", WidgetValignPropertyInfo), '("vexpand", WidgetVexpandPropertyInfo), '("vexpand-set", WidgetVexpandSetPropertyInfo), '("visibility", EntryVisibilityPropertyInfo), '("visible", WidgetVisiblePropertyInfo), '("width-chars", EntryWidthCharsPropertyInfo), '("width-request", WidgetWidthRequestPropertyInfo), '("window", WidgetWindowPropertyInfo), '("xalign", EntryXalignPropertyInfo)] :: [(Symbol, *)])

data EntryActivateSignalInfo
instance SignalInfo EntryActivateSignalInfo where
    type HaskellCallbackType EntryActivateSignalInfo = EntryActivateCallback
    connectSignal _ = connectEntryActivate

data EntryBackspaceSignalInfo
instance SignalInfo EntryBackspaceSignalInfo where
    type HaskellCallbackType EntryBackspaceSignalInfo = EntryBackspaceCallback
    connectSignal _ = connectEntryBackspace

data EntryCopyClipboardSignalInfo
instance SignalInfo EntryCopyClipboardSignalInfo where
    type HaskellCallbackType EntryCopyClipboardSignalInfo = EntryCopyClipboardCallback
    connectSignal _ = connectEntryCopyClipboard

data EntryCutClipboardSignalInfo
instance SignalInfo EntryCutClipboardSignalInfo where
    type HaskellCallbackType EntryCutClipboardSignalInfo = EntryCutClipboardCallback
    connectSignal _ = connectEntryCutClipboard

data EntryDeleteFromCursorSignalInfo
instance SignalInfo EntryDeleteFromCursorSignalInfo where
    type HaskellCallbackType EntryDeleteFromCursorSignalInfo = EntryDeleteFromCursorCallback
    connectSignal _ = connectEntryDeleteFromCursor

data EntryIconPressSignalInfo
instance SignalInfo EntryIconPressSignalInfo where
    type HaskellCallbackType EntryIconPressSignalInfo = EntryIconPressCallback
    connectSignal _ = connectEntryIconPress

data EntryIconReleaseSignalInfo
instance SignalInfo EntryIconReleaseSignalInfo where
    type HaskellCallbackType EntryIconReleaseSignalInfo = EntryIconReleaseCallback
    connectSignal _ = connectEntryIconRelease

data EntryInsertAtCursorSignalInfo
instance SignalInfo EntryInsertAtCursorSignalInfo where
    type HaskellCallbackType EntryInsertAtCursorSignalInfo = EntryInsertAtCursorCallback
    connectSignal _ = connectEntryInsertAtCursor

data EntryMoveCursorSignalInfo
instance SignalInfo EntryMoveCursorSignalInfo where
    type HaskellCallbackType EntryMoveCursorSignalInfo = EntryMoveCursorCallback
    connectSignal _ = connectEntryMoveCursor

data EntryPasteClipboardSignalInfo
instance SignalInfo EntryPasteClipboardSignalInfo where
    type HaskellCallbackType EntryPasteClipboardSignalInfo = EntryPasteClipboardCallback
    connectSignal _ = connectEntryPasteClipboard

data EntryPopulatePopupSignalInfo
instance SignalInfo EntryPopulatePopupSignalInfo where
    type HaskellCallbackType EntryPopulatePopupSignalInfo = EntryPopulatePopupCallback
    connectSignal _ = connectEntryPopulatePopup

data EntryPreeditChangedSignalInfo
instance SignalInfo EntryPreeditChangedSignalInfo where
    type HaskellCallbackType EntryPreeditChangedSignalInfo = EntryPreeditChangedCallback
    connectSignal _ = connectEntryPreeditChanged

data EntryToggleOverwriteSignalInfo
instance SignalInfo EntryToggleOverwriteSignalInfo where
    type HaskellCallbackType EntryToggleOverwriteSignalInfo = EntryToggleOverwriteCallback
    connectSignal _ = connectEntryToggleOverwrite

type instance SignalList Entry = EntrySignalList
type EntrySignalList = ('[ '("accel-closures-changed", WidgetAccelClosuresChangedSignalInfo), '("activate", EntryActivateSignalInfo), '("backspace", EntryBackspaceSignalInfo), '("button-press-event", WidgetButtonPressEventSignalInfo), '("button-release-event", WidgetButtonReleaseEventSignalInfo), '("can-activate-accel", WidgetCanActivateAccelSignalInfo), '("changed", EditableChangedSignalInfo), '("child-notify", WidgetChildNotifySignalInfo), '("composited-changed", WidgetCompositedChangedSignalInfo), '("configure-event", WidgetConfigureEventSignalInfo), '("copy-clipboard", EntryCopyClipboardSignalInfo), '("cut-clipboard", EntryCutClipboardSignalInfo), '("damage-event", WidgetDamageEventSignalInfo), '("delete-event", WidgetDeleteEventSignalInfo), '("delete-from-cursor", EntryDeleteFromCursorSignalInfo), '("delete-text", EditableDeleteTextSignalInfo), '("destroy", WidgetDestroySignalInfo), '("destroy-event", WidgetDestroyEventSignalInfo), '("direction-changed", WidgetDirectionChangedSignalInfo), '("drag-begin", WidgetDragBeginSignalInfo), '("drag-data-delete", WidgetDragDataDeleteSignalInfo), '("drag-data-get", WidgetDragDataGetSignalInfo), '("drag-data-received", WidgetDragDataReceivedSignalInfo), '("drag-drop", WidgetDragDropSignalInfo), '("drag-end", WidgetDragEndSignalInfo), '("drag-failed", WidgetDragFailedSignalInfo), '("drag-leave", WidgetDragLeaveSignalInfo), '("drag-motion", WidgetDragMotionSignalInfo), '("draw", WidgetDrawSignalInfo), '("editing-done", CellEditableEditingDoneSignalInfo), '("enter-notify-event", WidgetEnterNotifyEventSignalInfo), '("event", WidgetEventSignalInfo), '("event-after", WidgetEventAfterSignalInfo), '("focus", WidgetFocusSignalInfo), '("focus-in-event", WidgetFocusInEventSignalInfo), '("focus-out-event", WidgetFocusOutEventSignalInfo), '("grab-broken-event", WidgetGrabBrokenEventSignalInfo), '("grab-focus", WidgetGrabFocusSignalInfo), '("grab-notify", WidgetGrabNotifySignalInfo), '("hide", WidgetHideSignalInfo), '("hierarchy-changed", WidgetHierarchyChangedSignalInfo), '("icon-press", EntryIconPressSignalInfo), '("icon-release", EntryIconReleaseSignalInfo), '("insert-at-cursor", EntryInsertAtCursorSignalInfo), '("insert-text", EditableInsertTextSignalInfo), '("key-press-event", WidgetKeyPressEventSignalInfo), '("key-release-event", WidgetKeyReleaseEventSignalInfo), '("keynav-failed", WidgetKeynavFailedSignalInfo), '("leave-notify-event", WidgetLeaveNotifyEventSignalInfo), '("map", WidgetMapSignalInfo), '("map-event", WidgetMapEventSignalInfo), '("mnemonic-activate", WidgetMnemonicActivateSignalInfo), '("motion-notify-event", WidgetMotionNotifyEventSignalInfo), '("move-cursor", EntryMoveCursorSignalInfo), '("move-focus", WidgetMoveFocusSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parent-set", WidgetParentSetSignalInfo), '("paste-clipboard", EntryPasteClipboardSignalInfo), '("populate-popup", EntryPopulatePopupSignalInfo), '("popup-menu", WidgetPopupMenuSignalInfo), '("preedit-changed", EntryPreeditChangedSignalInfo), '("property-notify-event", WidgetPropertyNotifyEventSignalInfo), '("proximity-in-event", WidgetProximityInEventSignalInfo), '("proximity-out-event", WidgetProximityOutEventSignalInfo), '("query-tooltip", WidgetQueryTooltipSignalInfo), '("realize", WidgetRealizeSignalInfo), '("remove-widget", CellEditableRemoveWidgetSignalInfo), '("screen-changed", WidgetScreenChangedSignalInfo), '("scroll-event", WidgetScrollEventSignalInfo), '("selection-clear-event", WidgetSelectionClearEventSignalInfo), '("selection-get", WidgetSelectionGetSignalInfo), '("selection-notify-event", WidgetSelectionNotifyEventSignalInfo), '("selection-received", WidgetSelectionReceivedSignalInfo), '("selection-request-event", WidgetSelectionRequestEventSignalInfo), '("show", WidgetShowSignalInfo), '("show-help", WidgetShowHelpSignalInfo), '("size-allocate", WidgetSizeAllocateSignalInfo), '("state-changed", WidgetStateChangedSignalInfo), '("state-flags-changed", WidgetStateFlagsChangedSignalInfo), '("style-set", WidgetStyleSetSignalInfo), '("style-updated", WidgetStyleUpdatedSignalInfo), '("toggle-overwrite", EntryToggleOverwriteSignalInfo), '("touch-event", WidgetTouchEventSignalInfo), '("unmap", WidgetUnmapSignalInfo), '("unmap-event", WidgetUnmapEventSignalInfo), '("unrealize", WidgetUnrealizeSignalInfo), '("visibility-notify-event", WidgetVisibilityNotifyEventSignalInfo), '("window-state-event", WidgetWindowStateEventSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method Entry::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gtk" "Entry"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_new" gtk_entry_new :: 
    IO (Ptr Entry)


entryNew ::
    (MonadIO m) =>
    m Entry
entryNew  = liftIO $ do
    result <- gtk_entry_new
    checkUnexpectedReturnNULL "gtk_entry_new" result
    result' <- (newObject Entry) result
    return result'

-- method Entry::new_with_buffer
-- method type : Constructor
-- Args : [Arg {argName = "buffer", argType = TInterface "Gtk" "EntryBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "buffer", argType = TInterface "Gtk" "EntryBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "Entry"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_new_with_buffer" gtk_entry_new_with_buffer :: 
    Ptr EntryBuffer ->                      -- buffer : TInterface "Gtk" "EntryBuffer"
    IO (Ptr Entry)


entryNewWithBuffer ::
    (MonadIO m, EntryBufferK a) =>
    a ->                                    -- buffer
    m Entry
entryNewWithBuffer buffer = liftIO $ do
    let buffer' = unsafeManagedPtrCastPtr buffer
    result <- gtk_entry_new_with_buffer buffer'
    checkUnexpectedReturnNULL "gtk_entry_new_with_buffer" result
    result' <- (newObject Entry) result
    touchManagedPtr buffer
    return result'

-- method Entry::get_activates_default
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_activates_default" gtk_entry_get_activates_default :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CInt


entryGetActivatesDefault ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Bool
entryGetActivatesDefault _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_activates_default _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_alignment
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TFloat
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_alignment" gtk_entry_get_alignment :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CFloat


entryGetAlignment ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Float
entryGetAlignment _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_alignment _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method Entry::get_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Pango" "AttrList"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_attributes" gtk_entry_get_attributes :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr Pango.AttrList)


entryGetAttributes ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Pango.AttrList
entryGetAttributes _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_attributes _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_attributes" result
    result' <- (newBoxed Pango.AttrList) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_buffer
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "EntryBuffer"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_buffer" gtk_entry_get_buffer :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr EntryBuffer)


entryGetBuffer ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m EntryBuffer
entryGetBuffer _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_buffer _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_buffer" result
    result' <- (newObject EntryBuffer) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_completion
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "EntryCompletion"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_completion" gtk_entry_get_completion :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr EntryCompletion)


entryGetCompletion ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m EntryCompletion
entryGetCompletion _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_completion _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_completion" result
    result' <- (newObject EntryCompletion) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_current_icon_drag_source
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_current_icon_drag_source" gtk_entry_get_current_icon_drag_source :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO Int32


entryGetCurrentIconDragSource ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Int32
entryGetCurrentIconDragSource _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_current_icon_drag_source _obj'
    touchManagedPtr _obj
    return result

-- method Entry::get_cursor_hadjustment
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "Adjustment"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_cursor_hadjustment" gtk_entry_get_cursor_hadjustment :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr Adjustment)


entryGetCursorHadjustment ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Adjustment
entryGetCursorHadjustment _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_cursor_hadjustment _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_cursor_hadjustment" result
    result' <- (newObject Adjustment) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_has_frame
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_has_frame" gtk_entry_get_has_frame :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CInt


entryGetHasFrame ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Bool
entryGetHasFrame _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_has_frame _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_activatable
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_activatable" gtk_entry_get_icon_activatable :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CInt


entryGetIconActivatable ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m Bool
entryGetIconActivatable _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_activatable _obj' icon_pos'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_area
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_area", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_area" gtk_entry_get_icon_area :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    Ptr Gdk.Rectangle ->                    -- icon_area : TInterface "Gdk" "Rectangle"
    IO ()


entryGetIconArea ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m (Gdk.Rectangle)
entryGetIconArea _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    icon_area <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle)
    gtk_entry_get_icon_area _obj' icon_pos' icon_area
    icon_area' <- (wrapBoxed Gdk.Rectangle) icon_area
    touchManagedPtr _obj
    return icon_area'

-- method Entry::get_icon_at_pos
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_at_pos" gtk_entry_get_icon_at_pos :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Int32 ->                                -- x : TBasicType TInt32
    Int32 ->                                -- y : TBasicType TInt32
    IO Int32


entryGetIconAtPos ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Int32 ->                                -- x
    Int32 ->                                -- y
    m Int32
entryGetIconAtPos _obj x y = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_icon_at_pos _obj' x y
    touchManagedPtr _obj
    return result

-- method Entry::get_icon_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "Icon"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_gicon" gtk_entry_get_icon_gicon :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO (Ptr Gio.Icon)


entryGetIconGicon ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m Gio.Icon
entryGetIconGicon _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_gicon _obj' icon_pos'
    checkUnexpectedReturnNULL "gtk_entry_get_icon_gicon" result
    result' <- (newObject Gio.Icon) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_name" gtk_entry_get_icon_name :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CString


entryGetIconName ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m T.Text
entryGetIconName _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_name _obj' icon_pos'
    checkUnexpectedReturnNULL "gtk_entry_get_icon_name" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GdkPixbuf" "Pixbuf"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_pixbuf" gtk_entry_get_icon_pixbuf :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO (Ptr GdkPixbuf.Pixbuf)


entryGetIconPixbuf ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m GdkPixbuf.Pixbuf
entryGetIconPixbuf _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_pixbuf _obj' icon_pos'
    checkUnexpectedReturnNULL "gtk_entry_get_icon_pixbuf" result
    result' <- (newObject GdkPixbuf.Pixbuf) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_sensitive
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_sensitive" gtk_entry_get_icon_sensitive :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CInt


entryGetIconSensitive ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m Bool
entryGetIconSensitive _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_sensitive _obj' icon_pos'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_stock
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_stock" gtk_entry_get_icon_stock :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CString

{-# DEPRECATED entryGetIconStock ["(Since version 3.10)","Use gtk_entry_get_icon_name() instead."]#-}
entryGetIconStock ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m T.Text
entryGetIconStock _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_stock _obj' icon_pos'
    checkUnexpectedReturnNULL "gtk_entry_get_icon_stock" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_storage_type
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "ImageType"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_storage_type" gtk_entry_get_icon_storage_type :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CUInt


entryGetIconStorageType ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m ImageType
entryGetIconStorageType _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_storage_type _obj' icon_pos'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_tooltip_markup
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_tooltip_markup" gtk_entry_get_icon_tooltip_markup :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CString


entryGetIconTooltipMarkup ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m T.Text
entryGetIconTooltipMarkup _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_tooltip_markup _obj' icon_pos'
    checkUnexpectedReturnNULL "gtk_entry_get_icon_tooltip_markup" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method Entry::get_icon_tooltip_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_tooltip_text" gtk_entry_get_icon_tooltip_text :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    IO CString


entryGetIconTooltipText ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    m T.Text
entryGetIconTooltipText _obj icon_pos = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    result <- gtk_entry_get_icon_tooltip_text _obj' icon_pos'
    checkUnexpectedReturnNULL "gtk_entry_get_icon_tooltip_text" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method Entry::get_inner_border
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "Border"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_inner_border" gtk_entry_get_inner_border :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr Border)

{-# DEPRECATED entryGetInnerBorder ["(Since version 3.4)","Use the standard border and padding CSS properties (through","  objects like #GtkStyleContext and #GtkCssProvider); the value returned by","  this function is ignored by #GtkEntry."]#-}
entryGetInnerBorder ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Border
entryGetInnerBorder _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_inner_border _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_inner_border" result
    result' <- (newBoxed Border) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_input_hints
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "InputHints"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_input_hints" gtk_entry_get_input_hints :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CUInt


entryGetInputHints ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m [InputHints]
entryGetInputHints _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_input_hints _obj'
    let result' = wordToGFlags result
    touchManagedPtr _obj
    return result'

-- method Entry::get_input_purpose
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "InputPurpose"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_input_purpose" gtk_entry_get_input_purpose :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CUInt


entryGetInputPurpose ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m InputPurpose
entryGetInputPurpose _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_input_purpose _obj'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_invisible_char
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUniChar
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_invisible_char" gtk_entry_get_invisible_char :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CInt


entryGetInvisibleChar ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Char
entryGetInvisibleChar _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_invisible_char _obj'
    let result' = (chr . fromIntegral) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_layout
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Pango" "Layout"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_layout" gtk_entry_get_layout :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr Pango.Layout)


entryGetLayout ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Pango.Layout
entryGetLayout _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_layout _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_layout" result
    result' <- (newObject Pango.Layout) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_layout_offsets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_layout_offsets" gtk_entry_get_layout_offsets :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Int32 ->                            -- x : TBasicType TInt32
    Ptr Int32 ->                            -- y : TBasicType TInt32
    IO ()


entryGetLayoutOffsets ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m (Int32,Int32)
entryGetLayoutOffsets _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    x <- allocMem :: IO (Ptr Int32)
    y <- allocMem :: IO (Ptr Int32)
    gtk_entry_get_layout_offsets _obj' x y
    x' <- peek x
    y' <- peek y
    touchManagedPtr _obj
    freeMem x
    freeMem y
    return (x', y')

-- method Entry::get_max_length
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_max_length" gtk_entry_get_max_length :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO Int32


entryGetMaxLength ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Int32
entryGetMaxLength _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_max_length _obj'
    touchManagedPtr _obj
    return result

-- method Entry::get_max_width_chars
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_max_width_chars" gtk_entry_get_max_width_chars :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO Int32


entryGetMaxWidthChars ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Int32
entryGetMaxWidthChars _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_max_width_chars _obj'
    touchManagedPtr _obj
    return result

-- method Entry::get_overwrite_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_overwrite_mode" gtk_entry_get_overwrite_mode :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CInt


entryGetOverwriteMode ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Bool
entryGetOverwriteMode _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_overwrite_mode _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_placeholder_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_placeholder_text" gtk_entry_get_placeholder_text :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CString


entryGetPlaceholderText ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m T.Text
entryGetPlaceholderText _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_placeholder_text _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_placeholder_text" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method Entry::get_progress_fraction
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_progress_fraction" gtk_entry_get_progress_fraction :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CDouble


entryGetProgressFraction ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Double
entryGetProgressFraction _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_progress_fraction _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method Entry::get_progress_pulse_step
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_progress_pulse_step" gtk_entry_get_progress_pulse_step :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CDouble


entryGetProgressPulseStep ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Double
entryGetProgressPulseStep _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_progress_pulse_step _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method Entry::get_tabs
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Pango" "TabArray"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_tabs" gtk_entry_get_tabs :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO (Ptr Pango.TabArray)


entryGetTabs ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Pango.TabArray
entryGetTabs _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_tabs _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_tabs" result
    result' <- (newBoxed Pango.TabArray) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_text" gtk_entry_get_text :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CString


entryGetText ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m T.Text
entryGetText _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_text _obj'
    checkUnexpectedReturnNULL "gtk_entry_get_text" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method Entry::get_text_area
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text_area", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_text_area" gtk_entry_get_text_area :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Gdk.Rectangle ->                    -- text_area : TInterface "Gdk" "Rectangle"
    IO ()


entryGetTextArea ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m (Gdk.Rectangle)
entryGetTextArea _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    text_area <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle)
    gtk_entry_get_text_area _obj' text_area
    text_area' <- (wrapBoxed Gdk.Rectangle) text_area
    touchManagedPtr _obj
    return text_area'

-- method Entry::get_text_length
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt16
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_text_length" gtk_entry_get_text_length :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO Word16


entryGetTextLength ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Word16
entryGetTextLength _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_text_length _obj'
    touchManagedPtr _obj
    return result

-- method Entry::get_visibility
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_visibility" gtk_entry_get_visibility :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO CInt


entryGetVisibility ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Bool
entryGetVisibility _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_visibility _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method Entry::get_width_chars
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_width_chars" gtk_entry_get_width_chars :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO Int32


entryGetWidthChars ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m Int32
entryGetWidthChars _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_get_width_chars _obj'
    touchManagedPtr _obj
    return result

-- method Entry::grab_focus_without_selecting
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_grab_focus_without_selecting" gtk_entry_grab_focus_without_selecting :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO ()


entryGrabFocusWithoutSelecting ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m ()
entryGrabFocusWithoutSelecting _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_grab_focus_without_selecting _obj'
    touchManagedPtr _obj
    return ()

-- method Entry::im_context_filter_keypress
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "EventKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "EventKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_im_context_filter_keypress" gtk_entry_im_context_filter_keypress :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Gdk.EventKey ->                     -- event : TInterface "Gdk" "EventKey"
    IO CInt


entryImContextFilterKeypress ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Gdk.EventKey ->                         -- event
    m Bool
entryImContextFilterKeypress _obj event = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let event' = unsafeManagedPtrGetPtr event
    result <- gtk_entry_im_context_filter_keypress _obj' event'
    let result' = (/= 0) result
    touchManagedPtr _obj
    touchManagedPtr event
    return result'

-- method Entry::layout_index_to_text_index
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_layout_index_to_text_index" gtk_entry_layout_index_to_text_index :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Int32 ->                                -- layout_index : TBasicType TInt32
    IO Int32


entryLayoutIndexToTextIndex ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Int32 ->                                -- layout_index
    m Int32
entryLayoutIndexToTextIndex _obj layout_index = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_layout_index_to_text_index _obj' layout_index
    touchManagedPtr _obj
    return result

-- method Entry::progress_pulse
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_progress_pulse" gtk_entry_progress_pulse :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO ()


entryProgressPulse ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m ()
entryProgressPulse _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_progress_pulse _obj'
    touchManagedPtr _obj
    return ()

-- method Entry::reset_im_context
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_reset_im_context" gtk_entry_reset_im_context :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO ()


entryResetImContext ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m ()
entryResetImContext _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_reset_im_context _obj'
    touchManagedPtr _obj
    return ()

-- method Entry::set_activates_default
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_activates_default" gtk_entry_set_activates_default :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CInt ->                                 -- setting : TBasicType TBoolean
    IO ()


entrySetActivatesDefault ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- setting
    m ()
entrySetActivatesDefault _obj setting = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let setting' = (fromIntegral . fromEnum) setting
    gtk_entry_set_activates_default _obj' setting'
    touchManagedPtr _obj
    return ()

-- method Entry::set_alignment
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_alignment" gtk_entry_set_alignment :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CFloat ->                               -- xalign : TBasicType TFloat
    IO ()


entrySetAlignment ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Float ->                                -- xalign
    m ()
entrySetAlignment _obj xalign = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let xalign' = realToFrac xalign
    gtk_entry_set_alignment _obj' xalign'
    touchManagedPtr _obj
    return ()

-- method Entry::set_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_attributes" gtk_entry_set_attributes :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Pango.AttrList ->                   -- attrs : TInterface "Pango" "AttrList"
    IO ()


entrySetAttributes ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Pango.AttrList ->                       -- attrs
    m ()
entrySetAttributes _obj attrs = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let attrs' = unsafeManagedPtrGetPtr attrs
    gtk_entry_set_attributes _obj' attrs'
    touchManagedPtr _obj
    touchManagedPtr attrs
    return ()

-- method Entry::set_buffer
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Gtk" "EntryBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Gtk" "EntryBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_buffer" gtk_entry_set_buffer :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr EntryBuffer ->                      -- buffer : TInterface "Gtk" "EntryBuffer"
    IO ()


entrySetBuffer ::
    (MonadIO m, EntryK a, EntryBufferK b) =>
    a ->                                    -- _obj
    b ->                                    -- buffer
    m ()
entrySetBuffer _obj buffer = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let buffer' = unsafeManagedPtrCastPtr buffer
    gtk_entry_set_buffer _obj' buffer'
    touchManagedPtr _obj
    touchManagedPtr buffer
    return ()

-- method Entry::set_completion
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "completion", argType = TInterface "Gtk" "EntryCompletion", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "completion", argType = TInterface "Gtk" "EntryCompletion", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_completion" gtk_entry_set_completion :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr EntryCompletion ->                  -- completion : TInterface "Gtk" "EntryCompletion"
    IO ()


entrySetCompletion ::
    (MonadIO m, EntryK a, EntryCompletionK b) =>
    a ->                                    -- _obj
    Maybe (b) ->                            -- completion
    m ()
entrySetCompletion _obj completion = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    maybeCompletion <- case completion of
        Nothing -> return nullPtr
        Just jCompletion -> do
            let jCompletion' = unsafeManagedPtrCastPtr jCompletion
            return jCompletion'
    gtk_entry_set_completion _obj' maybeCompletion
    touchManagedPtr _obj
    whenJust completion touchManagedPtr
    return ()

-- method Entry::set_cursor_hadjustment
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "adjustment", argType = TInterface "Gtk" "Adjustment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "adjustment", argType = TInterface "Gtk" "Adjustment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_cursor_hadjustment" gtk_entry_set_cursor_hadjustment :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Adjustment ->                       -- adjustment : TInterface "Gtk" "Adjustment"
    IO ()


entrySetCursorHadjustment ::
    (MonadIO m, EntryK a, AdjustmentK b) =>
    a ->                                    -- _obj
    b ->                                    -- adjustment
    m ()
entrySetCursorHadjustment _obj adjustment = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let adjustment' = unsafeManagedPtrCastPtr adjustment
    gtk_entry_set_cursor_hadjustment _obj' adjustment'
    touchManagedPtr _obj
    touchManagedPtr adjustment
    return ()

-- method Entry::set_has_frame
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_has_frame" gtk_entry_set_has_frame :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CInt ->                                 -- setting : TBasicType TBoolean
    IO ()


entrySetHasFrame ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- setting
    m ()
entrySetHasFrame _obj setting = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let setting' = (fromIntegral . fromEnum) setting
    gtk_entry_set_has_frame _obj' setting'
    touchManagedPtr _obj
    return ()

-- method Entry::set_icon_activatable
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "activatable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "activatable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_activatable" gtk_entry_set_icon_activatable :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    CInt ->                                 -- activatable : TBasicType TBoolean
    IO ()


entrySetIconActivatable ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Bool ->                                 -- activatable
    m ()
entrySetIconActivatable _obj icon_pos activatable = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    let activatable' = (fromIntegral . fromEnum) activatable
    gtk_entry_set_icon_activatable _obj' icon_pos' activatable'
    touchManagedPtr _obj
    return ()

-- method Entry::set_icon_drag_source
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target_list", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target_list", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_drag_source" gtk_entry_set_icon_drag_source :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    Ptr TargetList ->                       -- target_list : TInterface "Gtk" "TargetList"
    CUInt ->                                -- actions : TInterface "Gdk" "DragAction"
    IO ()


entrySetIconDragSource ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    TargetList ->                           -- target_list
    [Gdk.DragAction] ->                     -- actions
    m ()
entrySetIconDragSource _obj icon_pos target_list actions = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    let target_list' = unsafeManagedPtrGetPtr target_list
    let actions' = gflagsToWord actions
    gtk_entry_set_icon_drag_source _obj' icon_pos' target_list' actions'
    touchManagedPtr _obj
    touchManagedPtr target_list
    return ()

-- method Entry::set_icon_from_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_gicon" gtk_entry_set_icon_from_gicon :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    Ptr Gio.Icon ->                         -- icon : TInterface "Gio" "Icon"
    IO ()


entrySetIconFromGicon ::
    (MonadIO m, EntryK a, Gio.IconK b) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Maybe (b) ->                            -- icon
    m ()
entrySetIconFromGicon _obj icon_pos icon = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    maybeIcon <- case icon of
        Nothing -> return nullPtr
        Just jIcon -> do
            let jIcon' = unsafeManagedPtrCastPtr jIcon
            return jIcon'
    gtk_entry_set_icon_from_gicon _obj' icon_pos' maybeIcon
    touchManagedPtr _obj
    whenJust icon touchManagedPtr
    return ()

-- method Entry::set_icon_from_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_icon_name" gtk_entry_set_icon_from_icon_name :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    CString ->                              -- icon_name : TBasicType TUTF8
    IO ()


entrySetIconFromIconName ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Maybe (T.Text) ->                       -- icon_name
    m ()
entrySetIconFromIconName _obj icon_pos icon_name = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    maybeIcon_name <- case icon_name of
        Nothing -> return nullPtr
        Just jIcon_name -> do
            jIcon_name' <- textToCString jIcon_name
            return jIcon_name'
    gtk_entry_set_icon_from_icon_name _obj' icon_pos' maybeIcon_name
    touchManagedPtr _obj
    freeMem maybeIcon_name
    return ()

-- method Entry::set_icon_from_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_pixbuf" gtk_entry_set_icon_from_pixbuf :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
    IO ()


entrySetIconFromPixbuf ::
    (MonadIO m, EntryK a, GdkPixbuf.PixbufK b) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Maybe (b) ->                            -- pixbuf
    m ()
entrySetIconFromPixbuf _obj icon_pos pixbuf = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    maybePixbuf <- case pixbuf of
        Nothing -> return nullPtr
        Just jPixbuf -> do
            let jPixbuf' = unsafeManagedPtrCastPtr jPixbuf
            return jPixbuf'
    gtk_entry_set_icon_from_pixbuf _obj' icon_pos' maybePixbuf
    touchManagedPtr _obj
    whenJust pixbuf touchManagedPtr
    return ()

-- method Entry::set_icon_from_stock
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_stock" gtk_entry_set_icon_from_stock :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    CString ->                              -- stock_id : TBasicType TUTF8
    IO ()

{-# DEPRECATED entrySetIconFromStock ["(Since version 3.10)","Use gtk_entry_set_icon_from_icon_name() instead."]#-}
entrySetIconFromStock ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Maybe (T.Text) ->                       -- stock_id
    m ()
entrySetIconFromStock _obj icon_pos stock_id = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    maybeStock_id <- case stock_id of
        Nothing -> return nullPtr
        Just jStock_id -> do
            jStock_id' <- textToCString jStock_id
            return jStock_id'
    gtk_entry_set_icon_from_stock _obj' icon_pos' maybeStock_id
    touchManagedPtr _obj
    freeMem maybeStock_id
    return ()

-- method Entry::set_icon_sensitive
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_sensitive" gtk_entry_set_icon_sensitive :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    CInt ->                                 -- sensitive : TBasicType TBoolean
    IO ()


entrySetIconSensitive ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Bool ->                                 -- sensitive
    m ()
entrySetIconSensitive _obj icon_pos sensitive = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    let sensitive' = (fromIntegral . fromEnum) sensitive
    gtk_entry_set_icon_sensitive _obj' icon_pos' sensitive'
    touchManagedPtr _obj
    return ()

-- method Entry::set_icon_tooltip_markup
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_tooltip_markup" gtk_entry_set_icon_tooltip_markup :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    CString ->                              -- tooltip : TBasicType TUTF8
    IO ()


entrySetIconTooltipMarkup ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Maybe (T.Text) ->                       -- tooltip
    m ()
entrySetIconTooltipMarkup _obj icon_pos tooltip = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    maybeTooltip <- case tooltip of
        Nothing -> return nullPtr
        Just jTooltip -> do
            jTooltip' <- textToCString jTooltip
            return jTooltip'
    gtk_entry_set_icon_tooltip_markup _obj' icon_pos' maybeTooltip
    touchManagedPtr _obj
    freeMem maybeTooltip
    return ()

-- method Entry::set_icon_tooltip_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_pos", argType = TInterface "Gtk" "EntryIconPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_tooltip_text" gtk_entry_set_icon_tooltip_text :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- icon_pos : TInterface "Gtk" "EntryIconPosition"
    CString ->                              -- tooltip : TBasicType TUTF8
    IO ()


entrySetIconTooltipText ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    EntryIconPosition ->                    -- icon_pos
    Maybe (T.Text) ->                       -- tooltip
    m ()
entrySetIconTooltipText _obj icon_pos tooltip = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let icon_pos' = (fromIntegral . fromEnum) icon_pos
    maybeTooltip <- case tooltip of
        Nothing -> return nullPtr
        Just jTooltip -> do
            jTooltip' <- textToCString jTooltip
            return jTooltip'
    gtk_entry_set_icon_tooltip_text _obj' icon_pos' maybeTooltip
    touchManagedPtr _obj
    freeMem maybeTooltip
    return ()

-- method Entry::set_inner_border
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "border", argType = TInterface "Gtk" "Border", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "border", argType = TInterface "Gtk" "Border", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_inner_border" gtk_entry_set_inner_border :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Border ->                           -- border : TInterface "Gtk" "Border"
    IO ()

{-# DEPRECATED entrySetInnerBorder ["(Since version 3.4)","Use the standard border and padding CSS properties (through","  objects like #GtkStyleContext and #GtkCssProvider); the value set with","  this function is ignored by #GtkEntry."]#-}
entrySetInnerBorder ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Maybe (Border) ->                       -- border
    m ()
entrySetInnerBorder _obj border = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    maybeBorder <- case border of
        Nothing -> return nullPtr
        Just jBorder -> do
            let jBorder' = unsafeManagedPtrGetPtr jBorder
            return jBorder'
    gtk_entry_set_inner_border _obj' maybeBorder
    touchManagedPtr _obj
    whenJust border touchManagedPtr
    return ()

-- method Entry::set_input_hints
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hints", argType = TInterface "Gtk" "InputHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hints", argType = TInterface "Gtk" "InputHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_input_hints" gtk_entry_set_input_hints :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- hints : TInterface "Gtk" "InputHints"
    IO ()


entrySetInputHints ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    [InputHints] ->                         -- hints
    m ()
entrySetInputHints _obj hints = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let hints' = gflagsToWord hints
    gtk_entry_set_input_hints _obj' hints'
    touchManagedPtr _obj
    return ()

-- method Entry::set_input_purpose
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "purpose", argType = TInterface "Gtk" "InputPurpose", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "purpose", argType = TInterface "Gtk" "InputPurpose", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_input_purpose" gtk_entry_set_input_purpose :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CUInt ->                                -- purpose : TInterface "Gtk" "InputPurpose"
    IO ()


entrySetInputPurpose ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    InputPurpose ->                         -- purpose
    m ()
entrySetInputPurpose _obj purpose = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let purpose' = (fromIntegral . fromEnum) purpose
    gtk_entry_set_input_purpose _obj' purpose'
    touchManagedPtr _obj
    return ()

-- method Entry::set_invisible_char
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_invisible_char" gtk_entry_set_invisible_char :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CInt ->                                 -- ch : TBasicType TUniChar
    IO ()


entrySetInvisibleChar ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Char ->                                 -- ch
    m ()
entrySetInvisibleChar _obj ch = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let ch' = (fromIntegral . ord) ch
    gtk_entry_set_invisible_char _obj' ch'
    touchManagedPtr _obj
    return ()

-- method Entry::set_max_length
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_max_length" gtk_entry_set_max_length :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Int32 ->                                -- max : TBasicType TInt32
    IO ()


entrySetMaxLength ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Int32 ->                                -- max
    m ()
entrySetMaxLength _obj max = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_set_max_length _obj' max
    touchManagedPtr _obj
    return ()

-- method Entry::set_max_width_chars
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_chars", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_chars", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_max_width_chars" gtk_entry_set_max_width_chars :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Int32 ->                                -- n_chars : TBasicType TInt32
    IO ()


entrySetMaxWidthChars ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Int32 ->                                -- n_chars
    m ()
entrySetMaxWidthChars _obj n_chars = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_set_max_width_chars _obj' n_chars
    touchManagedPtr _obj
    return ()

-- method Entry::set_overwrite_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "overwrite", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "overwrite", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_overwrite_mode" gtk_entry_set_overwrite_mode :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CInt ->                                 -- overwrite : TBasicType TBoolean
    IO ()


entrySetOverwriteMode ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- overwrite
    m ()
entrySetOverwriteMode _obj overwrite = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let overwrite' = (fromIntegral . fromEnum) overwrite
    gtk_entry_set_overwrite_mode _obj' overwrite'
    touchManagedPtr _obj
    return ()

-- method Entry::set_placeholder_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_placeholder_text" gtk_entry_set_placeholder_text :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CString ->                              -- text : TBasicType TUTF8
    IO ()


entrySetPlaceholderText ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- text
    m ()
entrySetPlaceholderText _obj text = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    text' <- textToCString text
    gtk_entry_set_placeholder_text _obj' text'
    touchManagedPtr _obj
    freeMem text'
    return ()

-- method Entry::set_progress_fraction
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_progress_fraction" gtk_entry_set_progress_fraction :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CDouble ->                              -- fraction : TBasicType TDouble
    IO ()


entrySetProgressFraction ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Double ->                               -- fraction
    m ()
entrySetProgressFraction _obj fraction = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let fraction' = realToFrac fraction
    gtk_entry_set_progress_fraction _obj' fraction'
    touchManagedPtr _obj
    return ()

-- method Entry::set_progress_pulse_step
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_progress_pulse_step" gtk_entry_set_progress_pulse_step :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CDouble ->                              -- fraction : TBasicType TDouble
    IO ()


entrySetProgressPulseStep ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Double ->                               -- fraction
    m ()
entrySetProgressPulseStep _obj fraction = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let fraction' = realToFrac fraction
    gtk_entry_set_progress_pulse_step _obj' fraction'
    touchManagedPtr _obj
    return ()

-- method Entry::set_tabs
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_tabs" gtk_entry_set_tabs :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Ptr Pango.TabArray ->                   -- tabs : TInterface "Pango" "TabArray"
    IO ()


entrySetTabs ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Pango.TabArray ->                       -- tabs
    m ()
entrySetTabs _obj tabs = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let tabs' = unsafeManagedPtrGetPtr tabs
    gtk_entry_set_tabs _obj' tabs'
    touchManagedPtr _obj
    touchManagedPtr tabs
    return ()

-- method Entry::set_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_text" gtk_entry_set_text :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CString ->                              -- text : TBasicType TUTF8
    IO ()


entrySetText ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- text
    m ()
entrySetText _obj text = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    text' <- textToCString text
    gtk_entry_set_text _obj' text'
    touchManagedPtr _obj
    freeMem text'
    return ()

-- method Entry::set_visibility
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_visibility" gtk_entry_set_visibility :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    CInt ->                                 -- visible : TBasicType TBoolean
    IO ()


entrySetVisibility ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- visible
    m ()
entrySetVisibility _obj visible = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let visible' = (fromIntegral . fromEnum) visible
    gtk_entry_set_visibility _obj' visible'
    touchManagedPtr _obj
    return ()

-- method Entry::set_width_chars
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_chars", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_chars", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_width_chars" gtk_entry_set_width_chars :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Int32 ->                                -- n_chars : TBasicType TInt32
    IO ()


entrySetWidthChars ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Int32 ->                                -- n_chars
    m ()
entrySetWidthChars _obj n_chars = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_set_width_chars _obj' n_chars
    touchManagedPtr _obj
    return ()

-- method Entry::text_index_to_layout_index
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_text_index_to_layout_index" gtk_entry_text_index_to_layout_index :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    Int32 ->                                -- text_index : TBasicType TInt32
    IO Int32


entryTextIndexToLayoutIndex ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    Int32 ->                                -- text_index
    m Int32
entryTextIndexToLayoutIndex _obj text_index = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- gtk_entry_text_index_to_layout_index _obj' text_index
    touchManagedPtr _obj
    return result

-- method Entry::unset_invisible_char
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Entry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_unset_invisible_char" gtk_entry_unset_invisible_char :: 
    Ptr Entry ->                            -- _obj : TInterface "Gtk" "Entry"
    IO ()


entryUnsetInvisibleChar ::
    (MonadIO m, EntryK a) =>
    a ->                                    -- _obj
    m ()
entryUnsetInvisibleChar _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    gtk_entry_unset_invisible_char _obj'
    touchManagedPtr _obj
    return ()