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

The 'GI.Gtk.Objects.Entry.Entry' widget is a single line text entry
widget. A fairly large set of key bindings are supported
by default. If the entered text is longer than the allocation
of the widget, the widget will scroll so that the cursor
position is visible.

When using an entry for passwords and other sensitive information,
it can be put into “password mode” using 'GI.Gtk.Objects.Entry.entrySetVisibility'.
In this mode, entered text is displayed using a “invisible” character.
By default, GTK+ picks the best invisible character that is available
in the current font, but it can be changed with
'GI.Gtk.Objects.Entry.entrySetInvisibleChar'. Since 2.16, GTK+ displays a warning
when Caps Lock or input methods might interfere with entering text in
a password entry. The warning can be turned off with the
'GI.Gtk.Objects.Entry.Entry':@/caps-lock-warning/@ property.

Since 2.16, GtkEntry has the ability to display progress or activity
information behind the text. To make an entry display such information,
use 'GI.Gtk.Objects.Entry.entrySetProgressFraction' or 'GI.Gtk.Objects.Entry.entrySetProgressPulseStep'.

Additionally, GtkEntry can show icons at either side of the entry. These
icons can be activatable by clicking, can be set up as drag source and
can have tooltips. To add an icon, use 'GI.Gtk.Objects.Entry.entrySetIconFromGicon' or
one of the various other functions that set an icon from a stock id, an
icon name or a pixbuf. To trigger an action when the user clicks an icon,
connect to the 'GI.Gtk.Objects.Entry.Entry'::@/icon-press/@ signal. To allow DND operations
from an icon, use 'GI.Gtk.Objects.Entry.entrySetIconDragSource'. To set a tooltip on
an icon, use 'GI.Gtk.Objects.Entry.entrySetIconTooltipText' or the corresponding function
for markup.

Note that functionality or information that is only available by clicking
on an icon in an entry may not be accessible at all to users which are not
able to use a mouse or other pointing device. It is therefore recommended
that any such functionality should also be available by other means, e.g.
via the context menu of the entry.

= CSS nodes


=== /plain code/
>
>entry
>├── image.left
>├── image.right
>├── undershoot.left
>├── undershoot.right
>├── [selection]
>├── [progress[.pulse]]
>╰── [window.popup]


GtkEntry has a main node with the name entry. Depending on the properties
of the entry, the style classes .read-only and .flat may appear. The style
classes .warning and .error may also be used with entries.

When the entry shows icons, it adds subnodes with the name image and the
style class .left or .right, depending on where the icon appears.

When the entry has a selection, it adds a subnode with the name selection.

When the entry shows progress, it adds a subnode with the name progress.
The node has the style class .pulse when the shown progress is pulsing.

The CSS node for a context menu is added as a subnode below entry as well.

The undershoot nodes are used to draw the underflow indication when content
is scrolled out of view. These nodes get the .left and .right style classes
added depending on where the indication is drawn.

When touch is used and touch selection handles are shown, they are using
CSS nodes with name cursor-handle. They get the .top or .bottom style class
depending on where they are shown in relation to the selection. If there is
just a single handle for the text cursor, it gets the style class
.insertion-cursor.
-}

module GI.Gtk.Objects.Entry
    ( 

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


 -- * Methods
-- ** getActivatesDefault #method:getActivatesDefault#
    EntryGetActivatesDefaultMethodInfo      ,
    entryGetActivatesDefault                ,


-- ** getAlignment #method:getAlignment#
    EntryGetAlignmentMethodInfo             ,
    entryGetAlignment                       ,


-- ** getAttributes #method:getAttributes#
    EntryGetAttributesMethodInfo            ,
    entryGetAttributes                      ,


-- ** getBuffer #method:getBuffer#
    EntryGetBufferMethodInfo                ,
    entryGetBuffer                          ,


-- ** getCompletion #method:getCompletion#
    EntryGetCompletionMethodInfo            ,
    entryGetCompletion                      ,


-- ** getCurrentIconDragSource #method:getCurrentIconDragSource#
    EntryGetCurrentIconDragSourceMethodInfo ,
    entryGetCurrentIconDragSource           ,


-- ** getCursorHadjustment #method:getCursorHadjustment#
    EntryGetCursorHadjustmentMethodInfo     ,
    entryGetCursorHadjustment               ,


-- ** getHasFrame #method:getHasFrame#
    EntryGetHasFrameMethodInfo              ,
    entryGetHasFrame                        ,


-- ** getIconActivatable #method:getIconActivatable#
    EntryGetIconActivatableMethodInfo       ,
    entryGetIconActivatable                 ,


-- ** getIconArea #method:getIconArea#
    EntryGetIconAreaMethodInfo              ,
    entryGetIconArea                        ,


-- ** getIconAtPos #method:getIconAtPos#
    EntryGetIconAtPosMethodInfo             ,
    entryGetIconAtPos                       ,


-- ** getIconGicon #method:getIconGicon#
    EntryGetIconGiconMethodInfo             ,
    entryGetIconGicon                       ,


-- ** getIconName #method:getIconName#
    EntryGetIconNameMethodInfo              ,
    entryGetIconName                        ,


-- ** getIconPixbuf #method:getIconPixbuf#
    EntryGetIconPixbufMethodInfo            ,
    entryGetIconPixbuf                      ,


-- ** getIconSensitive #method:getIconSensitive#
    EntryGetIconSensitiveMethodInfo         ,
    entryGetIconSensitive                   ,


-- ** getIconStock #method:getIconStock#
    EntryGetIconStockMethodInfo             ,
    entryGetIconStock                       ,


-- ** getIconStorageType #method:getIconStorageType#
    EntryGetIconStorageTypeMethodInfo       ,
    entryGetIconStorageType                 ,


-- ** getIconTooltipMarkup #method:getIconTooltipMarkup#
    EntryGetIconTooltipMarkupMethodInfo     ,
    entryGetIconTooltipMarkup               ,


-- ** getIconTooltipText #method:getIconTooltipText#
    EntryGetIconTooltipTextMethodInfo       ,
    entryGetIconTooltipText                 ,


-- ** getInnerBorder #method:getInnerBorder#
    EntryGetInnerBorderMethodInfo           ,
    entryGetInnerBorder                     ,


-- ** getInputHints #method:getInputHints#
    EntryGetInputHintsMethodInfo            ,
    entryGetInputHints                      ,


-- ** getInputPurpose #method:getInputPurpose#
    EntryGetInputPurposeMethodInfo          ,
    entryGetInputPurpose                    ,


-- ** getInvisibleChar #method:getInvisibleChar#
    EntryGetInvisibleCharMethodInfo         ,
    entryGetInvisibleChar                   ,


-- ** getLayout #method:getLayout#
    EntryGetLayoutMethodInfo                ,
    entryGetLayout                          ,


-- ** getLayoutOffsets #method:getLayoutOffsets#
    EntryGetLayoutOffsetsMethodInfo         ,
    entryGetLayoutOffsets                   ,


-- ** getMaxLength #method:getMaxLength#
    EntryGetMaxLengthMethodInfo             ,
    entryGetMaxLength                       ,


-- ** getMaxWidthChars #method:getMaxWidthChars#
    EntryGetMaxWidthCharsMethodInfo         ,
    entryGetMaxWidthChars                   ,


-- ** getOverwriteMode #method:getOverwriteMode#
    EntryGetOverwriteModeMethodInfo         ,
    entryGetOverwriteMode                   ,


-- ** getPlaceholderText #method:getPlaceholderText#
    EntryGetPlaceholderTextMethodInfo       ,
    entryGetPlaceholderText                 ,


-- ** getProgressFraction #method:getProgressFraction#
    EntryGetProgressFractionMethodInfo      ,
    entryGetProgressFraction                ,


-- ** getProgressPulseStep #method:getProgressPulseStep#
    EntryGetProgressPulseStepMethodInfo     ,
    entryGetProgressPulseStep               ,


-- ** getTabs #method:getTabs#
    EntryGetTabsMethodInfo                  ,
    entryGetTabs                            ,


-- ** getText #method:getText#
    EntryGetTextMethodInfo                  ,
    entryGetText                            ,


-- ** getTextArea #method:getTextArea#
    EntryGetTextAreaMethodInfo              ,
    entryGetTextArea                        ,


-- ** getTextLength #method:getTextLength#
    EntryGetTextLengthMethodInfo            ,
    entryGetTextLength                      ,


-- ** getVisibility #method:getVisibility#
    EntryGetVisibilityMethodInfo            ,
    entryGetVisibility                      ,


-- ** getWidthChars #method:getWidthChars#
    EntryGetWidthCharsMethodInfo            ,
    entryGetWidthChars                      ,


-- ** grabFocusWithoutSelecting #method:grabFocusWithoutSelecting#
    EntryGrabFocusWithoutSelectingMethodInfo,
    entryGrabFocusWithoutSelecting          ,


-- ** imContextFilterKeypress #method:imContextFilterKeypress#
    EntryImContextFilterKeypressMethodInfo  ,
    entryImContextFilterKeypress            ,


-- ** layoutIndexToTextIndex #method:layoutIndexToTextIndex#
    EntryLayoutIndexToTextIndexMethodInfo   ,
    entryLayoutIndexToTextIndex             ,


-- ** new #method:new#
    entryNew                                ,


-- ** newWithBuffer #method:newWithBuffer#
    entryNewWithBuffer                      ,


-- ** progressPulse #method:progressPulse#
    EntryProgressPulseMethodInfo            ,
    entryProgressPulse                      ,


-- ** resetImContext #method:resetImContext#
    EntryResetImContextMethodInfo           ,
    entryResetImContext                     ,


-- ** setActivatesDefault #method:setActivatesDefault#
    EntrySetActivatesDefaultMethodInfo      ,
    entrySetActivatesDefault                ,


-- ** setAlignment #method:setAlignment#
    EntrySetAlignmentMethodInfo             ,
    entrySetAlignment                       ,


-- ** setAttributes #method:setAttributes#
    EntrySetAttributesMethodInfo            ,
    entrySetAttributes                      ,


-- ** setBuffer #method:setBuffer#
    EntrySetBufferMethodInfo                ,
    entrySetBuffer                          ,


-- ** setCompletion #method:setCompletion#
    EntrySetCompletionMethodInfo            ,
    entrySetCompletion                      ,


-- ** setCursorHadjustment #method:setCursorHadjustment#
    EntrySetCursorHadjustmentMethodInfo     ,
    entrySetCursorHadjustment               ,


-- ** setHasFrame #method:setHasFrame#
    EntrySetHasFrameMethodInfo              ,
    entrySetHasFrame                        ,


-- ** setIconActivatable #method:setIconActivatable#
    EntrySetIconActivatableMethodInfo       ,
    entrySetIconActivatable                 ,


-- ** setIconDragSource #method:setIconDragSource#
    EntrySetIconDragSourceMethodInfo        ,
    entrySetIconDragSource                  ,


-- ** setIconFromGicon #method:setIconFromGicon#
    EntrySetIconFromGiconMethodInfo         ,
    entrySetIconFromGicon                   ,


-- ** setIconFromIconName #method:setIconFromIconName#
    EntrySetIconFromIconNameMethodInfo      ,
    entrySetIconFromIconName                ,


-- ** setIconFromPixbuf #method:setIconFromPixbuf#
    EntrySetIconFromPixbufMethodInfo        ,
    entrySetIconFromPixbuf                  ,


-- ** setIconFromStock #method:setIconFromStock#
    EntrySetIconFromStockMethodInfo         ,
    entrySetIconFromStock                   ,


-- ** setIconSensitive #method:setIconSensitive#
    EntrySetIconSensitiveMethodInfo         ,
    entrySetIconSensitive                   ,


-- ** setIconTooltipMarkup #method:setIconTooltipMarkup#
    EntrySetIconTooltipMarkupMethodInfo     ,
    entrySetIconTooltipMarkup               ,


-- ** setIconTooltipText #method:setIconTooltipText#
    EntrySetIconTooltipTextMethodInfo       ,
    entrySetIconTooltipText                 ,


-- ** setInnerBorder #method:setInnerBorder#
    EntrySetInnerBorderMethodInfo           ,
    entrySetInnerBorder                     ,


-- ** setInputHints #method:setInputHints#
    EntrySetInputHintsMethodInfo            ,
    entrySetInputHints                      ,


-- ** setInputPurpose #method:setInputPurpose#
    EntrySetInputPurposeMethodInfo          ,
    entrySetInputPurpose                    ,


-- ** setInvisibleChar #method:setInvisibleChar#
    EntrySetInvisibleCharMethodInfo         ,
    entrySetInvisibleChar                   ,


-- ** setMaxLength #method:setMaxLength#
    EntrySetMaxLengthMethodInfo             ,
    entrySetMaxLength                       ,


-- ** setMaxWidthChars #method:setMaxWidthChars#
    EntrySetMaxWidthCharsMethodInfo         ,
    entrySetMaxWidthChars                   ,


-- ** setOverwriteMode #method:setOverwriteMode#
    EntrySetOverwriteModeMethodInfo         ,
    entrySetOverwriteMode                   ,


-- ** setPlaceholderText #method:setPlaceholderText#
    EntrySetPlaceholderTextMethodInfo       ,
    entrySetPlaceholderText                 ,


-- ** setProgressFraction #method:setProgressFraction#
    EntrySetProgressFractionMethodInfo      ,
    entrySetProgressFraction                ,


-- ** setProgressPulseStep #method:setProgressPulseStep#
    EntrySetProgressPulseStepMethodInfo     ,
    entrySetProgressPulseStep               ,


-- ** setTabs #method:setTabs#
    EntrySetTabsMethodInfo                  ,
    entrySetTabs                            ,


-- ** setText #method:setText#
    EntrySetTextMethodInfo                  ,
    entrySetText                            ,


-- ** setVisibility #method:setVisibility#
    EntrySetVisibilityMethodInfo            ,
    entrySetVisibility                      ,


-- ** setWidthChars #method:setWidthChars#
    EntrySetWidthCharsMethodInfo            ,
    entrySetWidthChars                      ,


-- ** textIndexToLayoutIndex #method:textIndexToLayoutIndex#
    EntryTextIndexToLayoutIndexMethodInfo   ,
    entryTextIndexToLayoutIndex             ,


-- ** unsetInvisibleChar #method:unsetInvisibleChar#
    EntryUnsetInvisibleCharMethodInfo       ,
    entryUnsetInvisibleChar                 ,




 -- * Properties
-- ** activatesDefault #attr:activatesDefault#
    EntryActivatesDefaultPropertyInfo       ,
    constructEntryActivatesDefault          ,
    entryActivatesDefault                   ,
    getEntryActivatesDefault                ,
    setEntryActivatesDefault                ,


-- ** attributes #attr:attributes#
    EntryAttributesPropertyInfo             ,
    constructEntryAttributes                ,
    entryAttributes                         ,
    getEntryAttributes                      ,
    setEntryAttributes                      ,


-- ** buffer #attr:buffer#
    EntryBufferPropertyInfo                 ,
    constructEntryBuffer                    ,
    entryBuffer                             ,
    getEntryBuffer                          ,
    setEntryBuffer                          ,


-- ** capsLockWarning #attr:capsLockWarning#
    EntryCapsLockWarningPropertyInfo        ,
    constructEntryCapsLockWarning           ,
    entryCapsLockWarning                    ,
    getEntryCapsLockWarning                 ,
    setEntryCapsLockWarning                 ,


-- ** completion #attr:completion#
    EntryCompletionPropertyInfo             ,
    clearEntryCompletion                    ,
    constructEntryCompletion                ,
    entryCompletion                         ,
    getEntryCompletion                      ,
    setEntryCompletion                      ,


-- ** cursorPosition #attr:cursorPosition#
    EntryCursorPositionPropertyInfo         ,
    entryCursorPosition                     ,
    getEntryCursorPosition                  ,


-- ** editable #attr:editable#
    EntryEditablePropertyInfo               ,
    constructEntryEditable                  ,
    entryEditable                           ,
    getEntryEditable                        ,
    setEntryEditable                        ,


-- ** hasFrame #attr:hasFrame#
    EntryHasFramePropertyInfo               ,
    constructEntryHasFrame                  ,
    entryHasFrame                           ,
    getEntryHasFrame                        ,
    setEntryHasFrame                        ,


-- ** imModule #attr:imModule#
    EntryImModulePropertyInfo               ,
    clearEntryImModule                      ,
    constructEntryImModule                  ,
    entryImModule                           ,
    getEntryImModule                        ,
    setEntryImModule                        ,


-- ** innerBorder #attr:innerBorder#
    EntryInnerBorderPropertyInfo            ,
    clearEntryInnerBorder                   ,
    constructEntryInnerBorder               ,
    entryInnerBorder                        ,
    getEntryInnerBorder                     ,
    setEntryInnerBorder                     ,


-- ** inputHints #attr:inputHints#
    EntryInputHintsPropertyInfo             ,
    constructEntryInputHints                ,
    entryInputHints                         ,
    getEntryInputHints                      ,
    setEntryInputHints                      ,


-- ** inputPurpose #attr:inputPurpose#
    EntryInputPurposePropertyInfo           ,
    constructEntryInputPurpose              ,
    entryInputPurpose                       ,
    getEntryInputPurpose                    ,
    setEntryInputPurpose                    ,


-- ** invisibleChar #attr:invisibleChar#
    EntryInvisibleCharPropertyInfo          ,
    constructEntryInvisibleChar             ,
    entryInvisibleChar                      ,
    getEntryInvisibleChar                   ,
    setEntryInvisibleChar                   ,


-- ** invisibleCharSet #attr:invisibleCharSet#
    EntryInvisibleCharSetPropertyInfo       ,
    constructEntryInvisibleCharSet          ,
    entryInvisibleCharSet                   ,
    getEntryInvisibleCharSet                ,
    setEntryInvisibleCharSet                ,


-- ** maxLength #attr:maxLength#
    EntryMaxLengthPropertyInfo              ,
    constructEntryMaxLength                 ,
    entryMaxLength                          ,
    getEntryMaxLength                       ,
    setEntryMaxLength                       ,


-- ** maxWidthChars #attr:maxWidthChars#
    EntryMaxWidthCharsPropertyInfo          ,
    constructEntryMaxWidthChars             ,
    entryMaxWidthChars                      ,
    getEntryMaxWidthChars                   ,
    setEntryMaxWidthChars                   ,


-- ** overwriteMode #attr:overwriteMode#
    EntryOverwriteModePropertyInfo          ,
    constructEntryOverwriteMode             ,
    entryOverwriteMode                      ,
    getEntryOverwriteMode                   ,
    setEntryOverwriteMode                   ,


-- ** placeholderText #attr:placeholderText#
    EntryPlaceholderTextPropertyInfo        ,
    clearEntryPlaceholderText               ,
    constructEntryPlaceholderText           ,
    entryPlaceholderText                    ,
    getEntryPlaceholderText                 ,
    setEntryPlaceholderText                 ,


-- ** populateAll #attr:populateAll#
    EntryPopulateAllPropertyInfo            ,
    constructEntryPopulateAll               ,
    entryPopulateAll                        ,
    getEntryPopulateAll                     ,
    setEntryPopulateAll                     ,


-- ** primaryIconActivatable #attr:primaryIconActivatable#
    EntryPrimaryIconActivatablePropertyInfo ,
    constructEntryPrimaryIconActivatable    ,
    entryPrimaryIconActivatable             ,
    getEntryPrimaryIconActivatable          ,
    setEntryPrimaryIconActivatable          ,


-- ** primaryIconGicon #attr:primaryIconGicon#
    EntryPrimaryIconGiconPropertyInfo       ,
    clearEntryPrimaryIconGicon              ,
    constructEntryPrimaryIconGicon          ,
    entryPrimaryIconGicon                   ,
    getEntryPrimaryIconGicon                ,
    setEntryPrimaryIconGicon                ,


-- ** primaryIconName #attr:primaryIconName#
    EntryPrimaryIconNamePropertyInfo        ,
    clearEntryPrimaryIconName               ,
    constructEntryPrimaryIconName           ,
    entryPrimaryIconName                    ,
    getEntryPrimaryIconName                 ,
    setEntryPrimaryIconName                 ,


-- ** primaryIconPixbuf #attr:primaryIconPixbuf#
    EntryPrimaryIconPixbufPropertyInfo      ,
    clearEntryPrimaryIconPixbuf             ,
    constructEntryPrimaryIconPixbuf         ,
    entryPrimaryIconPixbuf                  ,
    getEntryPrimaryIconPixbuf               ,
    setEntryPrimaryIconPixbuf               ,


-- ** primaryIconSensitive #attr:primaryIconSensitive#
    EntryPrimaryIconSensitivePropertyInfo   ,
    constructEntryPrimaryIconSensitive      ,
    entryPrimaryIconSensitive               ,
    getEntryPrimaryIconSensitive            ,
    setEntryPrimaryIconSensitive            ,


-- ** primaryIconStock #attr:primaryIconStock#
    EntryPrimaryIconStockPropertyInfo       ,
    clearEntryPrimaryIconStock              ,
    constructEntryPrimaryIconStock          ,
    entryPrimaryIconStock                   ,
    getEntryPrimaryIconStock                ,
    setEntryPrimaryIconStock                ,


-- ** primaryIconStorageType #attr:primaryIconStorageType#
    EntryPrimaryIconStorageTypePropertyInfo ,
    entryPrimaryIconStorageType             ,
    getEntryPrimaryIconStorageType          ,


-- ** primaryIconTooltipMarkup #attr:primaryIconTooltipMarkup#
    EntryPrimaryIconTooltipMarkupPropertyInfo,
    clearEntryPrimaryIconTooltipMarkup      ,
    constructEntryPrimaryIconTooltipMarkup  ,
    entryPrimaryIconTooltipMarkup           ,
    getEntryPrimaryIconTooltipMarkup        ,
    setEntryPrimaryIconTooltipMarkup        ,


-- ** primaryIconTooltipText #attr:primaryIconTooltipText#
    EntryPrimaryIconTooltipTextPropertyInfo ,
    clearEntryPrimaryIconTooltipText        ,
    constructEntryPrimaryIconTooltipText    ,
    entryPrimaryIconTooltipText             ,
    getEntryPrimaryIconTooltipText          ,
    setEntryPrimaryIconTooltipText          ,


-- ** progressFraction #attr:progressFraction#
    EntryProgressFractionPropertyInfo       ,
    constructEntryProgressFraction          ,
    entryProgressFraction                   ,
    getEntryProgressFraction                ,
    setEntryProgressFraction                ,


-- ** progressPulseStep #attr:progressPulseStep#
    EntryProgressPulseStepPropertyInfo      ,
    constructEntryProgressPulseStep         ,
    entryProgressPulseStep                  ,
    getEntryProgressPulseStep               ,
    setEntryProgressPulseStep               ,


-- ** scrollOffset #attr:scrollOffset#
    EntryScrollOffsetPropertyInfo           ,
    entryScrollOffset                       ,
    getEntryScrollOffset                    ,


-- ** secondaryIconActivatable #attr:secondaryIconActivatable#
    EntrySecondaryIconActivatablePropertyInfo,
    constructEntrySecondaryIconActivatable  ,
    entrySecondaryIconActivatable           ,
    getEntrySecondaryIconActivatable        ,
    setEntrySecondaryIconActivatable        ,


-- ** secondaryIconGicon #attr:secondaryIconGicon#
    EntrySecondaryIconGiconPropertyInfo     ,
    clearEntrySecondaryIconGicon            ,
    constructEntrySecondaryIconGicon        ,
    entrySecondaryIconGicon                 ,
    getEntrySecondaryIconGicon              ,
    setEntrySecondaryIconGicon              ,


-- ** secondaryIconName #attr:secondaryIconName#
    EntrySecondaryIconNamePropertyInfo      ,
    clearEntrySecondaryIconName             ,
    constructEntrySecondaryIconName         ,
    entrySecondaryIconName                  ,
    getEntrySecondaryIconName               ,
    setEntrySecondaryIconName               ,


-- ** secondaryIconPixbuf #attr:secondaryIconPixbuf#
    EntrySecondaryIconPixbufPropertyInfo    ,
    clearEntrySecondaryIconPixbuf           ,
    constructEntrySecondaryIconPixbuf       ,
    entrySecondaryIconPixbuf                ,
    getEntrySecondaryIconPixbuf             ,
    setEntrySecondaryIconPixbuf             ,


-- ** secondaryIconSensitive #attr:secondaryIconSensitive#
    EntrySecondaryIconSensitivePropertyInfo ,
    constructEntrySecondaryIconSensitive    ,
    entrySecondaryIconSensitive             ,
    getEntrySecondaryIconSensitive          ,
    setEntrySecondaryIconSensitive          ,


-- ** secondaryIconStock #attr:secondaryIconStock#
    EntrySecondaryIconStockPropertyInfo     ,
    clearEntrySecondaryIconStock            ,
    constructEntrySecondaryIconStock        ,
    entrySecondaryIconStock                 ,
    getEntrySecondaryIconStock              ,
    setEntrySecondaryIconStock              ,


-- ** secondaryIconStorageType #attr:secondaryIconStorageType#
    EntrySecondaryIconStorageTypePropertyInfo,
    entrySecondaryIconStorageType           ,
    getEntrySecondaryIconStorageType        ,


-- ** secondaryIconTooltipMarkup #attr:secondaryIconTooltipMarkup#
    EntrySecondaryIconTooltipMarkupPropertyInfo,
    clearEntrySecondaryIconTooltipMarkup    ,
    constructEntrySecondaryIconTooltipMarkup,
    entrySecondaryIconTooltipMarkup         ,
    getEntrySecondaryIconTooltipMarkup      ,
    setEntrySecondaryIconTooltipMarkup      ,


-- ** secondaryIconTooltipText #attr:secondaryIconTooltipText#
    EntrySecondaryIconTooltipTextPropertyInfo,
    clearEntrySecondaryIconTooltipText      ,
    constructEntrySecondaryIconTooltipText  ,
    entrySecondaryIconTooltipText           ,
    getEntrySecondaryIconTooltipText        ,
    setEntrySecondaryIconTooltipText        ,


-- ** selectionBound #attr:selectionBound#
    EntrySelectionBoundPropertyInfo         ,
    entrySelectionBound                     ,
    getEntrySelectionBound                  ,


-- ** shadowType #attr:shadowType#
    EntryShadowTypePropertyInfo             ,
    constructEntryShadowType                ,
    entryShadowType                         ,
    getEntryShadowType                      ,
    setEntryShadowType                      ,


-- ** tabs #attr:tabs#
    EntryTabsPropertyInfo                   ,
    constructEntryTabs                      ,
    entryTabs                               ,
    getEntryTabs                            ,
    setEntryTabs                            ,


-- ** text #attr:text#
    EntryTextPropertyInfo                   ,
    constructEntryText                      ,
    entryText                               ,
    getEntryText                            ,
    setEntryText                            ,


-- ** textLength #attr:textLength#
    EntryTextLengthPropertyInfo             ,
    entryTextLength                         ,
    getEntryTextLength                      ,


-- ** truncateMultiline #attr:truncateMultiline#
    EntryTruncateMultilinePropertyInfo      ,
    constructEntryTruncateMultiline         ,
    entryTruncateMultiline                  ,
    getEntryTruncateMultiline               ,
    setEntryTruncateMultiline               ,


-- ** visibility #attr:visibility#
    EntryVisibilityPropertyInfo             ,
    constructEntryVisibility                ,
    entryVisibility                         ,
    getEntryVisibility                      ,
    setEntryVisibility                      ,


-- ** widthChars #attr:widthChars#
    EntryWidthCharsPropertyInfo             ,
    constructEntryWidthChars                ,
    entryWidthChars                         ,
    getEntryWidthChars                      ,
    setEntryWidthChars                      ,


-- ** xalign #attr:xalign#
    EntryXalignPropertyInfo                 ,
    constructEntryXalign                    ,
    entryXalign                             ,
    getEntryXalign                          ,
    setEntryXalign                          ,




 -- * Signals
-- ** activate #signal:activate#
    C_EntryActivateCallback                 ,
    EntryActivateCallback                   ,
    EntryActivateSignalInfo                 ,
    afterEntryActivate                      ,
    genClosure_EntryActivate                ,
    mk_EntryActivateCallback                ,
    noEntryActivateCallback                 ,
    onEntryActivate                         ,
    wrap_EntryActivateCallback              ,


-- ** backspace #signal:backspace#
    C_EntryBackspaceCallback                ,
    EntryBackspaceCallback                  ,
    EntryBackspaceSignalInfo                ,
    afterEntryBackspace                     ,
    genClosure_EntryBackspace               ,
    mk_EntryBackspaceCallback               ,
    noEntryBackspaceCallback                ,
    onEntryBackspace                        ,
    wrap_EntryBackspaceCallback             ,


-- ** copyClipboard #signal:copyClipboard#
    C_EntryCopyClipboardCallback            ,
    EntryCopyClipboardCallback              ,
    EntryCopyClipboardSignalInfo            ,
    afterEntryCopyClipboard                 ,
    genClosure_EntryCopyClipboard           ,
    mk_EntryCopyClipboardCallback           ,
    noEntryCopyClipboardCallback            ,
    onEntryCopyClipboard                    ,
    wrap_EntryCopyClipboardCallback         ,


-- ** cutClipboard #signal:cutClipboard#
    C_EntryCutClipboardCallback             ,
    EntryCutClipboardCallback               ,
    EntryCutClipboardSignalInfo             ,
    afterEntryCutClipboard                  ,
    genClosure_EntryCutClipboard            ,
    mk_EntryCutClipboardCallback            ,
    noEntryCutClipboardCallback             ,
    onEntryCutClipboard                     ,
    wrap_EntryCutClipboardCallback          ,


-- ** deleteFromCursor #signal:deleteFromCursor#
    C_EntryDeleteFromCursorCallback         ,
    EntryDeleteFromCursorCallback           ,
    EntryDeleteFromCursorSignalInfo         ,
    afterEntryDeleteFromCursor              ,
    genClosure_EntryDeleteFromCursor        ,
    mk_EntryDeleteFromCursorCallback        ,
    noEntryDeleteFromCursorCallback         ,
    onEntryDeleteFromCursor                 ,
    wrap_EntryDeleteFromCursorCallback      ,


-- ** iconPress #signal:iconPress#
    C_EntryIconPressCallback                ,
    EntryIconPressCallback                  ,
    EntryIconPressSignalInfo                ,
    afterEntryIconPress                     ,
    genClosure_EntryIconPress               ,
    mk_EntryIconPressCallback               ,
    noEntryIconPressCallback                ,
    onEntryIconPress                        ,
    wrap_EntryIconPressCallback             ,


-- ** iconRelease #signal:iconRelease#
    C_EntryIconReleaseCallback              ,
    EntryIconReleaseCallback                ,
    EntryIconReleaseSignalInfo              ,
    afterEntryIconRelease                   ,
    genClosure_EntryIconRelease             ,
    mk_EntryIconReleaseCallback             ,
    noEntryIconReleaseCallback              ,
    onEntryIconRelease                      ,
    wrap_EntryIconReleaseCallback           ,


-- ** insertAtCursor #signal:insertAtCursor#
    C_EntryInsertAtCursorCallback           ,
    EntryInsertAtCursorCallback             ,
    EntryInsertAtCursorSignalInfo           ,
    afterEntryInsertAtCursor                ,
    genClosure_EntryInsertAtCursor          ,
    mk_EntryInsertAtCursorCallback          ,
    noEntryInsertAtCursorCallback           ,
    onEntryInsertAtCursor                   ,
    wrap_EntryInsertAtCursorCallback        ,


-- ** moveCursor #signal:moveCursor#
    C_EntryMoveCursorCallback               ,
    EntryMoveCursorCallback                 ,
    EntryMoveCursorSignalInfo               ,
    afterEntryMoveCursor                    ,
    genClosure_EntryMoveCursor              ,
    mk_EntryMoveCursorCallback              ,
    noEntryMoveCursorCallback               ,
    onEntryMoveCursor                       ,
    wrap_EntryMoveCursorCallback            ,


-- ** pasteClipboard #signal:pasteClipboard#
    C_EntryPasteClipboardCallback           ,
    EntryPasteClipboardCallback             ,
    EntryPasteClipboardSignalInfo           ,
    afterEntryPasteClipboard                ,
    genClosure_EntryPasteClipboard          ,
    mk_EntryPasteClipboardCallback          ,
    noEntryPasteClipboardCallback           ,
    onEntryPasteClipboard                   ,
    wrap_EntryPasteClipboardCallback        ,


-- ** populatePopup #signal:populatePopup#
    C_EntryPopulatePopupCallback            ,
    EntryPopulatePopupCallback              ,
    EntryPopulatePopupSignalInfo            ,
    afterEntryPopulatePopup                 ,
    genClosure_EntryPopulatePopup           ,
    mk_EntryPopulatePopupCallback           ,
    noEntryPopulatePopupCallback            ,
    onEntryPopulatePopup                    ,
    wrap_EntryPopulatePopupCallback         ,


-- ** preeditChanged #signal:preeditChanged#
    C_EntryPreeditChangedCallback           ,
    EntryPreeditChangedCallback             ,
    EntryPreeditChangedSignalInfo           ,
    afterEntryPreeditChanged                ,
    genClosure_EntryPreeditChanged          ,
    mk_EntryPreeditChangedCallback          ,
    noEntryPreeditChangedCallback           ,
    onEntryPreeditChanged                   ,
    wrap_EntryPreeditChangedCallback        ,


-- ** toggleOverwrite #signal:toggleOverwrite#
    C_EntryToggleOverwriteCallback          ,
    EntryToggleOverwriteCallback            ,
    EntryToggleOverwriteSignalInfo          ,
    afterEntryToggleOverwrite               ,
    genClosure_EntryToggleOverwrite         ,
    mk_EntryToggleOverwriteCallback         ,
    noEntryToggleOverwriteCallback          ,
    onEntryToggleOverwrite                  ,
    wrap_EntryToggleOverwriteCallback       ,




    ) where

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

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

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Flags as Gdk.Flags
import qualified GI.Gdk.Structs.EventButton as Gdk.EventButton
import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
import qualified GI.Gio.Interfaces.Icon as Gio.Icon
import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Editable as Gtk.Editable
import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
import {-# SOURCE #-} qualified GI.Gtk.Objects.EntryBuffer as Gtk.EntryBuffer
import {-# SOURCE #-} qualified GI.Gtk.Objects.EntryCompletion as Gtk.EntryCompletion
import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
import qualified GI.Pango.Objects.Layout as Pango.Layout
import qualified GI.Pango.Structs.AttrList as Pango.AttrList
import qualified GI.Pango.Structs.TabArray as Pango.TabArray

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

instance GObject Entry where
    gobjectType _ = c_gtk_entry_get_type
    

class GObject o => IsEntry o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError Entry a) =>
    IsEntry a
#endif
instance IsEntry Entry
instance Gtk.Widget.IsWidget Entry
instance GObject.Object.IsObject Entry
instance Atk.ImplementorIface.IsImplementorIface Entry
instance Gtk.Buildable.IsBuildable Entry
instance Gtk.CellEditable.IsCellEditable Entry
instance Gtk.Editable.IsEditable Entry

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

noEntry :: Maybe Entry
noEntry = Nothing

type family ResolveEntryMethod (t :: Symbol) (o :: *) :: * where
    ResolveEntryMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolveEntryMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
    ResolveEntryMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolveEntryMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
    ResolveEntryMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
    ResolveEntryMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolveEntryMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolveEntryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveEntryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveEntryMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
    ResolveEntryMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolveEntryMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
    ResolveEntryMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
    ResolveEntryMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolveEntryMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolveEntryMethod "copyClipboard" o = Gtk.Editable.EditableCopyClipboardMethodInfo
    ResolveEntryMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolveEntryMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolveEntryMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolveEntryMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolveEntryMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolveEntryMethod "cutClipboard" o = Gtk.Editable.EditableCutClipboardMethodInfo
    ResolveEntryMethod "deleteSelection" o = Gtk.Editable.EditableDeleteSelectionMethodInfo
    ResolveEntryMethod "deleteText" o = Gtk.Editable.EditableDeleteTextMethodInfo
    ResolveEntryMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
    ResolveEntryMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
    ResolveEntryMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolveEntryMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
    ResolveEntryMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
    ResolveEntryMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolveEntryMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
    ResolveEntryMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
    ResolveEntryMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
    ResolveEntryMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
    ResolveEntryMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
    ResolveEntryMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
    ResolveEntryMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
    ResolveEntryMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
    ResolveEntryMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
    ResolveEntryMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
    ResolveEntryMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
    ResolveEntryMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
    ResolveEntryMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
    ResolveEntryMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
    ResolveEntryMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
    ResolveEntryMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
    ResolveEntryMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
    ResolveEntryMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
    ResolveEntryMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
    ResolveEntryMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
    ResolveEntryMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
    ResolveEntryMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
    ResolveEntryMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
    ResolveEntryMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
    ResolveEntryMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
    ResolveEntryMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
    ResolveEntryMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
    ResolveEntryMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
    ResolveEntryMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolveEntryMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
    ResolveEntryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveEntryMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
    ResolveEntryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveEntryMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
    ResolveEntryMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
    ResolveEntryMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolveEntryMethod "grabFocusWithoutSelecting" o = EntryGrabFocusWithoutSelectingMethodInfo
    ResolveEntryMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
    ResolveEntryMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolveEntryMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolveEntryMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
    ResolveEntryMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
    ResolveEntryMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
    ResolveEntryMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolveEntryMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolveEntryMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
    ResolveEntryMethod "imContextFilterKeypress" o = EntryImContextFilterKeypressMethodInfo
    ResolveEntryMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolveEntryMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolveEntryMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
    ResolveEntryMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolveEntryMethod "insertText" o = Gtk.Editable.EditableInsertTextMethodInfo
    ResolveEntryMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
    ResolveEntryMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolveEntryMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
    ResolveEntryMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolveEntryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveEntryMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolveEntryMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolveEntryMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
    ResolveEntryMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolveEntryMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolveEntryMethod "layoutIndexToTextIndex" o = EntryLayoutIndexToTextIndexMethodInfo
    ResolveEntryMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
    ResolveEntryMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
    ResolveEntryMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolveEntryMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolveEntryMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolveEntryMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
    ResolveEntryMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
    ResolveEntryMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
    ResolveEntryMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
    ResolveEntryMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
    ResolveEntryMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
    ResolveEntryMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
    ResolveEntryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveEntryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveEntryMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
    ResolveEntryMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
    ResolveEntryMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
    ResolveEntryMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
    ResolveEntryMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
    ResolveEntryMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolveEntryMethod "pasteClipboard" o = Gtk.Editable.EditablePasteClipboardMethodInfo
    ResolveEntryMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
    ResolveEntryMethod "progressPulse" o = EntryProgressPulseMethodInfo
    ResolveEntryMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolveEntryMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
    ResolveEntryMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolveEntryMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
    ResolveEntryMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
    ResolveEntryMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolveEntryMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
    ResolveEntryMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolveEntryMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveEntryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveEntryMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
    ResolveEntryMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
    ResolveEntryMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
    ResolveEntryMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolveEntryMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolveEntryMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
    ResolveEntryMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
    ResolveEntryMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
    ResolveEntryMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
    ResolveEntryMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveEntryMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveEntryMethod "resetImContext" o = EntryResetImContextMethodInfo
    ResolveEntryMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
    ResolveEntryMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
    ResolveEntryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveEntryMethod "selectRegion" o = Gtk.Editable.EditableSelectRegionMethodInfo
    ResolveEntryMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
    ResolveEntryMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
    ResolveEntryMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
    ResolveEntryMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolveEntryMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
    ResolveEntryMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
    ResolveEntryMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolveEntryMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
    ResolveEntryMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
    ResolveEntryMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
    ResolveEntryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveEntryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveEntryMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
    ResolveEntryMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
    ResolveEntryMethod "textIndexToLayoutIndex" o = EntryTextIndexToLayoutIndexMethodInfo
    ResolveEntryMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
    ResolveEntryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveEntryMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolveEntryMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolveEntryMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolveEntryMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolveEntryMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolveEntryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveEntryMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
    ResolveEntryMethod "unsetInvisibleChar" o = EntryUnsetInvisibleCharMethodInfo
    ResolveEntryMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolveEntryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveEntryMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolveEntryMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
    ResolveEntryMethod "getActivatesDefault" o = EntryGetActivatesDefaultMethodInfo
    ResolveEntryMethod "getAlignment" o = EntryGetAlignmentMethodInfo
    ResolveEntryMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolveEntryMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolveEntryMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
    ResolveEntryMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolveEntryMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolveEntryMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolveEntryMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
    ResolveEntryMethod "getAttributes" o = EntryGetAttributesMethodInfo
    ResolveEntryMethod "getBuffer" o = EntryGetBufferMethodInfo
    ResolveEntryMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
    ResolveEntryMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolveEntryMethod "getChars" o = Gtk.Editable.EditableGetCharsMethodInfo
    ResolveEntryMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
    ResolveEntryMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolveEntryMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
    ResolveEntryMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolveEntryMethod "getCompletion" o = EntryGetCompletionMethodInfo
    ResolveEntryMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
    ResolveEntryMethod "getCurrentIconDragSource" o = EntryGetCurrentIconDragSourceMethodInfo
    ResolveEntryMethod "getCursorHadjustment" o = EntryGetCursorHadjustmentMethodInfo
    ResolveEntryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveEntryMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
    ResolveEntryMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
    ResolveEntryMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolveEntryMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolveEntryMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
    ResolveEntryMethod "getEditable" o = Gtk.Editable.EditableGetEditableMethodInfo
    ResolveEntryMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
    ResolveEntryMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolveEntryMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolveEntryMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolveEntryMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolveEntryMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolveEntryMethod "getHasFrame" o = EntryGetHasFrameMethodInfo
    ResolveEntryMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolveEntryMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
    ResolveEntryMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolveEntryMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolveEntryMethod "getIconActivatable" o = EntryGetIconActivatableMethodInfo
    ResolveEntryMethod "getIconArea" o = EntryGetIconAreaMethodInfo
    ResolveEntryMethod "getIconAtPos" o = EntryGetIconAtPosMethodInfo
    ResolveEntryMethod "getIconGicon" o = EntryGetIconGiconMethodInfo
    ResolveEntryMethod "getIconName" o = EntryGetIconNameMethodInfo
    ResolveEntryMethod "getIconPixbuf" o = EntryGetIconPixbufMethodInfo
    ResolveEntryMethod "getIconSensitive" o = EntryGetIconSensitiveMethodInfo
    ResolveEntryMethod "getIconStock" o = EntryGetIconStockMethodInfo
    ResolveEntryMethod "getIconStorageType" o = EntryGetIconStorageTypeMethodInfo
    ResolveEntryMethod "getIconTooltipMarkup" o = EntryGetIconTooltipMarkupMethodInfo
    ResolveEntryMethod "getIconTooltipText" o = EntryGetIconTooltipTextMethodInfo
    ResolveEntryMethod "getInnerBorder" o = EntryGetInnerBorderMethodInfo
    ResolveEntryMethod "getInputHints" o = EntryGetInputHintsMethodInfo
    ResolveEntryMethod "getInputPurpose" o = EntryGetInputPurposeMethodInfo
    ResolveEntryMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolveEntryMethod "getInvisibleChar" o = EntryGetInvisibleCharMethodInfo
    ResolveEntryMethod "getLayout" o = EntryGetLayoutMethodInfo
    ResolveEntryMethod "getLayoutOffsets" o = EntryGetLayoutOffsetsMethodInfo
    ResolveEntryMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolveEntryMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolveEntryMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolveEntryMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
    ResolveEntryMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
    ResolveEntryMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolveEntryMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolveEntryMethod "getMaxLength" o = EntryGetMaxLengthMethodInfo
    ResolveEntryMethod "getMaxWidthChars" o = EntryGetMaxWidthCharsMethodInfo
    ResolveEntryMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
    ResolveEntryMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
    ResolveEntryMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolveEntryMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
    ResolveEntryMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolveEntryMethod "getOverwriteMode" o = EntryGetOverwriteModeMethodInfo
    ResolveEntryMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolveEntryMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolveEntryMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
    ResolveEntryMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
    ResolveEntryMethod "getPlaceholderText" o = EntryGetPlaceholderTextMethodInfo
    ResolveEntryMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
    ResolveEntryMethod "getPosition" o = Gtk.Editable.EditableGetPositionMethodInfo
    ResolveEntryMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
    ResolveEntryMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
    ResolveEntryMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
    ResolveEntryMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolveEntryMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
    ResolveEntryMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
    ResolveEntryMethod "getProgressFraction" o = EntryGetProgressFractionMethodInfo
    ResolveEntryMethod "getProgressPulseStep" o = EntryGetProgressPulseStepMethodInfo
    ResolveEntryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveEntryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveEntryMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolveEntryMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolveEntryMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolveEntryMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
    ResolveEntryMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
    ResolveEntryMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolveEntryMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
    ResolveEntryMethod "getSelectionBounds" o = Gtk.Editable.EditableGetSelectionBoundsMethodInfo
    ResolveEntryMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolveEntryMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolveEntryMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolveEntryMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
    ResolveEntryMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolveEntryMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
    ResolveEntryMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolveEntryMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    ResolveEntryMethod "getTabs" o = EntryGetTabsMethodInfo
    ResolveEntryMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolveEntryMethod "getText" o = EntryGetTextMethodInfo
    ResolveEntryMethod "getTextArea" o = EntryGetTextAreaMethodInfo
    ResolveEntryMethod "getTextLength" o = EntryGetTextLengthMethodInfo
    ResolveEntryMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolveEntryMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolveEntryMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
    ResolveEntryMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
    ResolveEntryMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolveEntryMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
    ResolveEntryMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolveEntryMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolveEntryMethod "getVisibility" o = EntryGetVisibilityMethodInfo
    ResolveEntryMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolveEntryMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
    ResolveEntryMethod "getWidthChars" o = EntryGetWidthCharsMethodInfo
    ResolveEntryMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
    ResolveEntryMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
    ResolveEntryMethod "setActivatesDefault" o = EntrySetActivatesDefaultMethodInfo
    ResolveEntryMethod "setAlignment" o = EntrySetAlignmentMethodInfo
    ResolveEntryMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
    ResolveEntryMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
    ResolveEntryMethod "setAttributes" o = EntrySetAttributesMethodInfo
    ResolveEntryMethod "setBuffer" o = EntrySetBufferMethodInfo
    ResolveEntryMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolveEntryMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
    ResolveEntryMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolveEntryMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolveEntryMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
    ResolveEntryMethod "setCompletion" o = EntrySetCompletionMethodInfo
    ResolveEntryMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
    ResolveEntryMethod "setCursorHadjustment" o = EntrySetCursorHadjustmentMethodInfo
    ResolveEntryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveEntryMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
    ResolveEntryMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
    ResolveEntryMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolveEntryMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
    ResolveEntryMethod "setEditable" o = Gtk.Editable.EditableSetEditableMethodInfo
    ResolveEntryMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
    ResolveEntryMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolveEntryMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolveEntryMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolveEntryMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolveEntryMethod "setHasFrame" o = EntrySetHasFrameMethodInfo
    ResolveEntryMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolveEntryMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
    ResolveEntryMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolveEntryMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolveEntryMethod "setIconActivatable" o = EntrySetIconActivatableMethodInfo
    ResolveEntryMethod "setIconDragSource" o = EntrySetIconDragSourceMethodInfo
    ResolveEntryMethod "setIconFromGicon" o = EntrySetIconFromGiconMethodInfo
    ResolveEntryMethod "setIconFromIconName" o = EntrySetIconFromIconNameMethodInfo
    ResolveEntryMethod "setIconFromPixbuf" o = EntrySetIconFromPixbufMethodInfo
    ResolveEntryMethod "setIconFromStock" o = EntrySetIconFromStockMethodInfo
    ResolveEntryMethod "setIconSensitive" o = EntrySetIconSensitiveMethodInfo
    ResolveEntryMethod "setIconTooltipMarkup" o = EntrySetIconTooltipMarkupMethodInfo
    ResolveEntryMethod "setIconTooltipText" o = EntrySetIconTooltipTextMethodInfo
    ResolveEntryMethod "setInnerBorder" o = EntrySetInnerBorderMethodInfo
    ResolveEntryMethod "setInputHints" o = EntrySetInputHintsMethodInfo
    ResolveEntryMethod "setInputPurpose" o = EntrySetInputPurposeMethodInfo
    ResolveEntryMethod "setInvisibleChar" o = EntrySetInvisibleCharMethodInfo
    ResolveEntryMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
    ResolveEntryMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolveEntryMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolveEntryMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
    ResolveEntryMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
    ResolveEntryMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolveEntryMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolveEntryMethod "setMaxLength" o = EntrySetMaxLengthMethodInfo
    ResolveEntryMethod "setMaxWidthChars" o = EntrySetMaxWidthCharsMethodInfo
    ResolveEntryMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolveEntryMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
    ResolveEntryMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolveEntryMethod "setOverwriteMode" o = EntrySetOverwriteModeMethodInfo
    ResolveEntryMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolveEntryMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
    ResolveEntryMethod "setPlaceholderText" o = EntrySetPlaceholderTextMethodInfo
    ResolveEntryMethod "setPosition" o = Gtk.Editable.EditableSetPositionMethodInfo
    ResolveEntryMethod "setProgressFraction" o = EntrySetProgressFractionMethodInfo
    ResolveEntryMethod "setProgressPulseStep" o = EntrySetProgressPulseStepMethodInfo
    ResolveEntryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveEntryMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
    ResolveEntryMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolveEntryMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
    ResolveEntryMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolveEntryMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolveEntryMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
    ResolveEntryMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolveEntryMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
    ResolveEntryMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolveEntryMethod "setTabs" o = EntrySetTabsMethodInfo
    ResolveEntryMethod "setText" o = EntrySetTextMethodInfo
    ResolveEntryMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolveEntryMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolveEntryMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
    ResolveEntryMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolveEntryMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolveEntryMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolveEntryMethod "setVisibility" o = EntrySetVisibilityMethodInfo
    ResolveEntryMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolveEntryMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
    ResolveEntryMethod "setWidthChars" o = EntrySetWidthCharsMethodInfo
    ResolveEntryMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
    ResolveEntryMethod l o = O.MethodResolutionFailed l o

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

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

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

noEntryActivateCallback :: Maybe EntryActivateCallback
noEntryActivateCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryActivateCallback :: C_EntryActivateCallback -> IO (FunPtr C_EntryActivateCallback)

genClosure_EntryActivate :: EntryActivateCallback -> IO Closure
genClosure_EntryActivate cb = do
    let cb' = wrap_EntryActivateCallback cb
    mk_EntryActivateCallback cb' >>= newCClosure


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


onEntryActivate :: (IsEntry a, MonadIO m) => a -> EntryActivateCallback -> m SignalHandlerId
onEntryActivate obj cb = liftIO $ do
    let cb' = wrap_EntryActivateCallback cb
    cb'' <- mk_EntryActivateCallback cb'
    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore

afterEntryActivate :: (IsEntry a, MonadIO m) => a -> EntryActivateCallback -> m SignalHandlerId
afterEntryActivate obj cb = liftIO $ do
    let cb' = wrap_EntryActivateCallback cb
    cb'' <- mk_EntryActivateCallback cb'
    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter


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

noEntryBackspaceCallback :: Maybe EntryBackspaceCallback
noEntryBackspaceCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryBackspaceCallback :: C_EntryBackspaceCallback -> IO (FunPtr C_EntryBackspaceCallback)

genClosure_EntryBackspace :: EntryBackspaceCallback -> IO Closure
genClosure_EntryBackspace cb = do
    let cb' = wrap_EntryBackspaceCallback cb
    mk_EntryBackspaceCallback cb' >>= newCClosure


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


onEntryBackspace :: (IsEntry a, MonadIO m) => a -> EntryBackspaceCallback -> m SignalHandlerId
onEntryBackspace obj cb = liftIO $ do
    let cb' = wrap_EntryBackspaceCallback cb
    cb'' <- mk_EntryBackspaceCallback cb'
    connectSignalFunPtr obj "backspace" cb'' SignalConnectBefore

afterEntryBackspace :: (IsEntry a, MonadIO m) => a -> EntryBackspaceCallback -> m SignalHandlerId
afterEntryBackspace obj cb = liftIO $ do
    let cb' = wrap_EntryBackspaceCallback cb
    cb'' <- mk_EntryBackspaceCallback cb'
    connectSignalFunPtr obj "backspace" cb'' SignalConnectAfter


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

noEntryCopyClipboardCallback :: Maybe EntryCopyClipboardCallback
noEntryCopyClipboardCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryCopyClipboardCallback :: C_EntryCopyClipboardCallback -> IO (FunPtr C_EntryCopyClipboardCallback)

genClosure_EntryCopyClipboard :: EntryCopyClipboardCallback -> IO Closure
genClosure_EntryCopyClipboard cb = do
    let cb' = wrap_EntryCopyClipboardCallback cb
    mk_EntryCopyClipboardCallback cb' >>= newCClosure


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


onEntryCopyClipboard :: (IsEntry a, MonadIO m) => a -> EntryCopyClipboardCallback -> m SignalHandlerId
onEntryCopyClipboard obj cb = liftIO $ do
    let cb' = wrap_EntryCopyClipboardCallback cb
    cb'' <- mk_EntryCopyClipboardCallback cb'
    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectBefore

afterEntryCopyClipboard :: (IsEntry a, MonadIO m) => a -> EntryCopyClipboardCallback -> m SignalHandlerId
afterEntryCopyClipboard obj cb = liftIO $ do
    let cb' = wrap_EntryCopyClipboardCallback cb
    cb'' <- mk_EntryCopyClipboardCallback cb'
    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectAfter


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

noEntryCutClipboardCallback :: Maybe EntryCutClipboardCallback
noEntryCutClipboardCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryCutClipboardCallback :: C_EntryCutClipboardCallback -> IO (FunPtr C_EntryCutClipboardCallback)

genClosure_EntryCutClipboard :: EntryCutClipboardCallback -> IO Closure
genClosure_EntryCutClipboard cb = do
    let cb' = wrap_EntryCutClipboardCallback cb
    mk_EntryCutClipboardCallback cb' >>= newCClosure


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


onEntryCutClipboard :: (IsEntry a, MonadIO m) => a -> EntryCutClipboardCallback -> m SignalHandlerId
onEntryCutClipboard obj cb = liftIO $ do
    let cb' = wrap_EntryCutClipboardCallback cb
    cb'' <- mk_EntryCutClipboardCallback cb'
    connectSignalFunPtr obj "cut-clipboard" cb'' SignalConnectBefore

afterEntryCutClipboard :: (IsEntry a, MonadIO m) => a -> EntryCutClipboardCallback -> m SignalHandlerId
afterEntryCutClipboard obj cb = liftIO $ do
    let cb' = wrap_EntryCutClipboardCallback cb
    cb'' <- mk_EntryCutClipboardCallback cb'
    connectSignalFunPtr obj "cut-clipboard" cb'' SignalConnectAfter


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

noEntryDeleteFromCursorCallback :: Maybe EntryDeleteFromCursorCallback
noEntryDeleteFromCursorCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryDeleteFromCursorCallback :: C_EntryDeleteFromCursorCallback -> IO (FunPtr C_EntryDeleteFromCursorCallback)

genClosure_EntryDeleteFromCursor :: EntryDeleteFromCursorCallback -> IO Closure
genClosure_EntryDeleteFromCursor cb = do
    let cb' = wrap_EntryDeleteFromCursorCallback cb
    mk_EntryDeleteFromCursorCallback cb' >>= newCClosure


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


onEntryDeleteFromCursor :: (IsEntry a, MonadIO m) => a -> EntryDeleteFromCursorCallback -> m SignalHandlerId
onEntryDeleteFromCursor obj cb = liftIO $ do
    let cb' = wrap_EntryDeleteFromCursorCallback cb
    cb'' <- mk_EntryDeleteFromCursorCallback cb'
    connectSignalFunPtr obj "delete-from-cursor" cb'' SignalConnectBefore

afterEntryDeleteFromCursor :: (IsEntry a, MonadIO m) => a -> EntryDeleteFromCursorCallback -> m SignalHandlerId
afterEntryDeleteFromCursor obj cb = liftIO $ do
    let cb' = wrap_EntryDeleteFromCursorCallback cb
    cb'' <- mk_EntryDeleteFromCursorCallback cb'
    connectSignalFunPtr obj "delete-from-cursor" cb'' SignalConnectAfter


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

noEntryIconPressCallback :: Maybe EntryIconPressCallback
noEntryIconPressCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryIconPressCallback :: C_EntryIconPressCallback -> IO (FunPtr C_EntryIconPressCallback)

genClosure_EntryIconPress :: EntryIconPressCallback -> IO Closure
genClosure_EntryIconPress cb = do
    let cb' = wrap_EntryIconPressCallback cb
    mk_EntryIconPressCallback cb' >>= newCClosure


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


onEntryIconPress :: (IsEntry a, MonadIO m) => a -> EntryIconPressCallback -> m SignalHandlerId
onEntryIconPress obj cb = liftIO $ do
    let cb' = wrap_EntryIconPressCallback cb
    cb'' <- mk_EntryIconPressCallback cb'
    connectSignalFunPtr obj "icon-press" cb'' SignalConnectBefore

afterEntryIconPress :: (IsEntry a, MonadIO m) => a -> EntryIconPressCallback -> m SignalHandlerId
afterEntryIconPress obj cb = liftIO $ do
    let cb' = wrap_EntryIconPressCallback cb
    cb'' <- mk_EntryIconPressCallback cb'
    connectSignalFunPtr obj "icon-press" cb'' SignalConnectAfter


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

noEntryIconReleaseCallback :: Maybe EntryIconReleaseCallback
noEntryIconReleaseCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryIconReleaseCallback :: C_EntryIconReleaseCallback -> IO (FunPtr C_EntryIconReleaseCallback)

genClosure_EntryIconRelease :: EntryIconReleaseCallback -> IO Closure
genClosure_EntryIconRelease cb = do
    let cb' = wrap_EntryIconReleaseCallback cb
    mk_EntryIconReleaseCallback cb' >>= newCClosure


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


onEntryIconRelease :: (IsEntry a, MonadIO m) => a -> EntryIconReleaseCallback -> m SignalHandlerId
onEntryIconRelease obj cb = liftIO $ do
    let cb' = wrap_EntryIconReleaseCallback cb
    cb'' <- mk_EntryIconReleaseCallback cb'
    connectSignalFunPtr obj "icon-release" cb'' SignalConnectBefore

afterEntryIconRelease :: (IsEntry a, MonadIO m) => a -> EntryIconReleaseCallback -> m SignalHandlerId
afterEntryIconRelease obj cb = liftIO $ do
    let cb' = wrap_EntryIconReleaseCallback cb
    cb'' <- mk_EntryIconReleaseCallback cb'
    connectSignalFunPtr obj "icon-release" cb'' SignalConnectAfter


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

noEntryInsertAtCursorCallback :: Maybe EntryInsertAtCursorCallback
noEntryInsertAtCursorCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryInsertAtCursorCallback :: C_EntryInsertAtCursorCallback -> IO (FunPtr C_EntryInsertAtCursorCallback)

genClosure_EntryInsertAtCursor :: EntryInsertAtCursorCallback -> IO Closure
genClosure_EntryInsertAtCursor cb = do
    let cb' = wrap_EntryInsertAtCursorCallback cb
    mk_EntryInsertAtCursorCallback cb' >>= newCClosure


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


onEntryInsertAtCursor :: (IsEntry a, MonadIO m) => a -> EntryInsertAtCursorCallback -> m SignalHandlerId
onEntryInsertAtCursor obj cb = liftIO $ do
    let cb' = wrap_EntryInsertAtCursorCallback cb
    cb'' <- mk_EntryInsertAtCursorCallback cb'
    connectSignalFunPtr obj "insert-at-cursor" cb'' SignalConnectBefore

afterEntryInsertAtCursor :: (IsEntry a, MonadIO m) => a -> EntryInsertAtCursorCallback -> m SignalHandlerId
afterEntryInsertAtCursor obj cb = liftIO $ do
    let cb' = wrap_EntryInsertAtCursorCallback cb
    cb'' <- mk_EntryInsertAtCursorCallback cb'
    connectSignalFunPtr obj "insert-at-cursor" cb'' SignalConnectAfter


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

noEntryMoveCursorCallback :: Maybe EntryMoveCursorCallback
noEntryMoveCursorCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryMoveCursorCallback :: C_EntryMoveCursorCallback -> IO (FunPtr C_EntryMoveCursorCallback)

genClosure_EntryMoveCursor :: EntryMoveCursorCallback -> IO Closure
genClosure_EntryMoveCursor cb = do
    let cb' = wrap_EntryMoveCursorCallback cb
    mk_EntryMoveCursorCallback cb' >>= newCClosure


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


onEntryMoveCursor :: (IsEntry a, MonadIO m) => a -> EntryMoveCursorCallback -> m SignalHandlerId
onEntryMoveCursor obj cb = liftIO $ do
    let cb' = wrap_EntryMoveCursorCallback cb
    cb'' <- mk_EntryMoveCursorCallback cb'
    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore

afterEntryMoveCursor :: (IsEntry a, MonadIO m) => a -> EntryMoveCursorCallback -> m SignalHandlerId
afterEntryMoveCursor obj cb = liftIO $ do
    let cb' = wrap_EntryMoveCursorCallback cb
    cb'' <- mk_EntryMoveCursorCallback cb'
    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter


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

noEntryPasteClipboardCallback :: Maybe EntryPasteClipboardCallback
noEntryPasteClipboardCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryPasteClipboardCallback :: C_EntryPasteClipboardCallback -> IO (FunPtr C_EntryPasteClipboardCallback)

genClosure_EntryPasteClipboard :: EntryPasteClipboardCallback -> IO Closure
genClosure_EntryPasteClipboard cb = do
    let cb' = wrap_EntryPasteClipboardCallback cb
    mk_EntryPasteClipboardCallback cb' >>= newCClosure


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


onEntryPasteClipboard :: (IsEntry a, MonadIO m) => a -> EntryPasteClipboardCallback -> m SignalHandlerId
onEntryPasteClipboard obj cb = liftIO $ do
    let cb' = wrap_EntryPasteClipboardCallback cb
    cb'' <- mk_EntryPasteClipboardCallback cb'
    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectBefore

afterEntryPasteClipboard :: (IsEntry a, MonadIO m) => a -> EntryPasteClipboardCallback -> m SignalHandlerId
afterEntryPasteClipboard obj cb = liftIO $ do
    let cb' = wrap_EntryPasteClipboardCallback cb
    cb'' <- mk_EntryPasteClipboardCallback cb'
    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectAfter


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

noEntryPopulatePopupCallback :: Maybe EntryPopulatePopupCallback
noEntryPopulatePopupCallback = Nothing

type C_EntryPopulatePopupCallback =
    Ptr () ->                               -- object
    Ptr Gtk.Widget.Widget ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_EntryPopulatePopupCallback :: C_EntryPopulatePopupCallback -> IO (FunPtr C_EntryPopulatePopupCallback)

genClosure_EntryPopulatePopup :: EntryPopulatePopupCallback -> IO Closure
genClosure_EntryPopulatePopup cb = do
    let cb' = wrap_EntryPopulatePopupCallback cb
    mk_EntryPopulatePopupCallback cb' >>= newCClosure


wrap_EntryPopulatePopupCallback ::
    EntryPopulatePopupCallback ->
    Ptr () ->
    Ptr Gtk.Widget.Widget ->
    Ptr () ->
    IO ()
wrap_EntryPopulatePopupCallback _cb _ widget _ = do
    widget' <- (newObject Gtk.Widget.Widget) widget
    _cb  widget'


onEntryPopulatePopup :: (IsEntry a, MonadIO m) => a -> EntryPopulatePopupCallback -> m SignalHandlerId
onEntryPopulatePopup obj cb = liftIO $ do
    let cb' = wrap_EntryPopulatePopupCallback cb
    cb'' <- mk_EntryPopulatePopupCallback cb'
    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectBefore

afterEntryPopulatePopup :: (IsEntry a, MonadIO m) => a -> EntryPopulatePopupCallback -> m SignalHandlerId
afterEntryPopulatePopup obj cb = liftIO $ do
    let cb' = wrap_EntryPopulatePopupCallback cb
    cb'' <- mk_EntryPopulatePopupCallback cb'
    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectAfter


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

noEntryPreeditChangedCallback :: Maybe EntryPreeditChangedCallback
noEntryPreeditChangedCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryPreeditChangedCallback :: C_EntryPreeditChangedCallback -> IO (FunPtr C_EntryPreeditChangedCallback)

genClosure_EntryPreeditChanged :: EntryPreeditChangedCallback -> IO Closure
genClosure_EntryPreeditChanged cb = do
    let cb' = wrap_EntryPreeditChangedCallback cb
    mk_EntryPreeditChangedCallback cb' >>= newCClosure


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


onEntryPreeditChanged :: (IsEntry a, MonadIO m) => a -> EntryPreeditChangedCallback -> m SignalHandlerId
onEntryPreeditChanged obj cb = liftIO $ do
    let cb' = wrap_EntryPreeditChangedCallback cb
    cb'' <- mk_EntryPreeditChangedCallback cb'
    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectBefore

afterEntryPreeditChanged :: (IsEntry a, MonadIO m) => a -> EntryPreeditChangedCallback -> m SignalHandlerId
afterEntryPreeditChanged obj cb = liftIO $ do
    let cb' = wrap_EntryPreeditChangedCallback cb
    cb'' <- mk_EntryPreeditChangedCallback cb'
    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectAfter


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

noEntryToggleOverwriteCallback :: Maybe EntryToggleOverwriteCallback
noEntryToggleOverwriteCallback = Nothing

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

foreign import ccall "wrapper"
    mk_EntryToggleOverwriteCallback :: C_EntryToggleOverwriteCallback -> IO (FunPtr C_EntryToggleOverwriteCallback)

genClosure_EntryToggleOverwrite :: EntryToggleOverwriteCallback -> IO Closure
genClosure_EntryToggleOverwrite cb = do
    let cb' = wrap_EntryToggleOverwriteCallback cb
    mk_EntryToggleOverwriteCallback cb' >>= newCClosure


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


onEntryToggleOverwrite :: (IsEntry a, MonadIO m) => a -> EntryToggleOverwriteCallback -> m SignalHandlerId
onEntryToggleOverwrite obj cb = liftIO $ do
    let cb' = wrap_EntryToggleOverwriteCallback cb
    cb'' <- mk_EntryToggleOverwriteCallback cb'
    connectSignalFunPtr obj "toggle-overwrite" cb'' SignalConnectBefore

afterEntryToggleOverwrite :: (IsEntry a, MonadIO m) => a -> EntryToggleOverwriteCallback -> m SignalHandlerId
afterEntryToggleOverwrite obj cb = liftIO $ do
    let cb' = wrap_EntryToggleOverwriteCallback cb
    cb'' <- mk_EntryToggleOverwriteCallback cb'
    connectSignalFunPtr obj "toggle-overwrite" cb'' SignalConnectAfter


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

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

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

constructEntryActivatesDefault :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryActivatesDefaultPropertyInfo = Bool
    type AttrLabel EntryActivatesDefaultPropertyInfo = "activates-default"
    type AttrOrigin EntryActivatesDefaultPropertyInfo = Entry
    attrGet _ = getEntryActivatesDefault
    attrSet _ = setEntryActivatesDefault
    attrConstruct _ = constructEntryActivatesDefault
    attrClear _ = undefined

-- VVV Prop "attributes"
   -- Type: TInterface (Name {namespace = "Pango", name = "AttrList"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just False)

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

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

constructEntryAttributes :: (IsEntry o) => Pango.AttrList.AttrList -> IO (GValueConstruct o)
constructEntryAttributes val = constructObjectPropertyBoxed "attributes" (Just val)

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

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

getEntryBuffer :: (MonadIO m, IsEntry o) => o -> m Gtk.EntryBuffer.EntryBuffer
getEntryBuffer obj = liftIO $ checkUnexpectedNothing "getEntryBuffer" $ getObjectPropertyObject obj "buffer" Gtk.EntryBuffer.EntryBuffer

setEntryBuffer :: (MonadIO m, IsEntry o, Gtk.EntryBuffer.IsEntryBuffer a) => o -> a -> m ()
setEntryBuffer obj val = liftIO $ setObjectPropertyObject obj "buffer" (Just val)

constructEntryBuffer :: (IsEntry o, Gtk.EntryBuffer.IsEntryBuffer a) => a -> IO (GValueConstruct o)
constructEntryBuffer val = constructObjectPropertyObject "buffer" (Just val)

data EntryBufferPropertyInfo
instance AttrInfo EntryBufferPropertyInfo where
    type AttrAllowedOps EntryBufferPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryBufferPropertyInfo = Gtk.EntryBuffer.IsEntryBuffer
    type AttrBaseTypeConstraint EntryBufferPropertyInfo = IsEntry
    type AttrGetType EntryBufferPropertyInfo = Gtk.EntryBuffer.EntryBuffer
    type AttrLabel EntryBufferPropertyInfo = "buffer"
    type AttrOrigin EntryBufferPropertyInfo = Entry
    attrGet _ = getEntryBuffer
    attrSet _ = setEntryBuffer
    attrConstruct _ = constructEntryBuffer
    attrClear _ = undefined

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

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

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

constructEntryCapsLockWarning :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryCapsLockWarningPropertyInfo = Bool
    type AttrLabel EntryCapsLockWarningPropertyInfo = "caps-lock-warning"
    type AttrOrigin EntryCapsLockWarningPropertyInfo = Entry
    attrGet _ = getEntryCapsLockWarning
    attrSet _ = setEntryCapsLockWarning
    attrConstruct _ = constructEntryCapsLockWarning
    attrClear _ = undefined

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

getEntryCompletion :: (MonadIO m, IsEntry o) => o -> m Gtk.EntryCompletion.EntryCompletion
getEntryCompletion obj = liftIO $ checkUnexpectedNothing "getEntryCompletion" $ getObjectPropertyObject obj "completion" Gtk.EntryCompletion.EntryCompletion

setEntryCompletion :: (MonadIO m, IsEntry o, Gtk.EntryCompletion.IsEntryCompletion a) => o -> a -> m ()
setEntryCompletion obj val = liftIO $ setObjectPropertyObject obj "completion" (Just val)

constructEntryCompletion :: (IsEntry o, Gtk.EntryCompletion.IsEntryCompletion a) => a -> IO (GValueConstruct o)
constructEntryCompletion val = constructObjectPropertyObject "completion" (Just val)

clearEntryCompletion :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryCompletion obj = liftIO $ setObjectPropertyObject obj "completion" (Nothing :: Maybe Gtk.EntryCompletion.EntryCompletion)

data EntryCompletionPropertyInfo
instance AttrInfo EntryCompletionPropertyInfo where
    type AttrAllowedOps EntryCompletionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint EntryCompletionPropertyInfo = Gtk.EntryCompletion.IsEntryCompletion
    type AttrBaseTypeConstraint EntryCompletionPropertyInfo = IsEntry
    type AttrGetType EntryCompletionPropertyInfo = Gtk.EntryCompletion.EntryCompletion
    type AttrLabel EntryCompletionPropertyInfo = "completion"
    type AttrOrigin EntryCompletionPropertyInfo = Entry
    attrGet _ = getEntryCompletion
    attrSet _ = setEntryCompletion
    attrConstruct _ = constructEntryCompletion
    attrClear _ = clearEntryCompletion

-- VVV Prop "cursor-position"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

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

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

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

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

constructEntryEditable :: (IsEntry o) => Bool -> IO (GValueConstruct o)
constructEntryEditable val = constructObjectPropertyBool "editable" val

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

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

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

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

constructEntryHasFrame :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryHasFramePropertyInfo = Bool
    type AttrLabel EntryHasFramePropertyInfo = "has-frame"
    type AttrOrigin EntryHasFramePropertyInfo = Entry
    attrGet _ = getEntryHasFrame
    attrSet _ = setEntryHasFrame
    attrConstruct _ = constructEntryHasFrame
    attrClear _ = undefined

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

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

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

constructEntryImModule :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryImModule val = constructObjectPropertyString "im-module" (Just val)

clearEntryImModule :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryImModule obj = liftIO $ setObjectPropertyString obj "im-module" (Nothing :: Maybe T.Text)

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

-- VVV Prop "inner-border"
   -- Type: TInterface (Name {namespace = "Gtk", name = "Border"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just True)

getEntryInnerBorder :: (MonadIO m, IsEntry o) => o -> m (Maybe Gtk.Border.Border)
getEntryInnerBorder obj = liftIO $ getObjectPropertyBoxed obj "inner-border" Gtk.Border.Border

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

constructEntryInnerBorder :: (IsEntry o) => Gtk.Border.Border -> IO (GValueConstruct o)
constructEntryInnerBorder val = constructObjectPropertyBoxed "inner-border" (Just val)

clearEntryInnerBorder :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryInnerBorder obj = liftIO $ setObjectPropertyBoxed obj "inner-border" (Nothing :: Maybe Gtk.Border.Border)

data EntryInnerBorderPropertyInfo
instance AttrInfo EntryInnerBorderPropertyInfo where
    type AttrAllowedOps EntryInnerBorderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint EntryInnerBorderPropertyInfo = (~) Gtk.Border.Border
    type AttrBaseTypeConstraint EntryInnerBorderPropertyInfo = IsEntry
    type AttrGetType EntryInnerBorderPropertyInfo = (Maybe Gtk.Border.Border)
    type AttrLabel EntryInnerBorderPropertyInfo = "inner-border"
    type AttrOrigin EntryInnerBorderPropertyInfo = Entry
    attrGet _ = getEntryInnerBorder
    attrSet _ = setEntryInnerBorder
    attrConstruct _ = constructEntryInnerBorder
    attrClear _ = clearEntryInnerBorder

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

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

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

constructEntryInputHints :: (IsEntry o) => [Gtk.Flags.InputHints] -> IO (GValueConstruct o)
constructEntryInputHints val = constructObjectPropertyFlags "input-hints" val

data EntryInputHintsPropertyInfo
instance AttrInfo EntryInputHintsPropertyInfo where
    type AttrAllowedOps EntryInputHintsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInputHintsPropertyInfo = (~) [Gtk.Flags.InputHints]
    type AttrBaseTypeConstraint EntryInputHintsPropertyInfo = IsEntry
    type AttrGetType EntryInputHintsPropertyInfo = [Gtk.Flags.InputHints]
    type AttrLabel EntryInputHintsPropertyInfo = "input-hints"
    type AttrOrigin EntryInputHintsPropertyInfo = Entry
    attrGet _ = getEntryInputHints
    attrSet _ = setEntryInputHints
    attrConstruct _ = constructEntryInputHints
    attrClear _ = undefined

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

getEntryInputPurpose :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.InputPurpose
getEntryInputPurpose obj = liftIO $ getObjectPropertyEnum obj "input-purpose"

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

constructEntryInputPurpose :: (IsEntry o) => Gtk.Enums.InputPurpose -> IO (GValueConstruct o)
constructEntryInputPurpose val = constructObjectPropertyEnum "input-purpose" val

data EntryInputPurposePropertyInfo
instance AttrInfo EntryInputPurposePropertyInfo where
    type AttrAllowedOps EntryInputPurposePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryInputPurposePropertyInfo = (~) Gtk.Enums.InputPurpose
    type AttrBaseTypeConstraint EntryInputPurposePropertyInfo = IsEntry
    type AttrGetType EntryInputPurposePropertyInfo = Gtk.Enums.InputPurpose
    type AttrLabel EntryInputPurposePropertyInfo = "input-purpose"
    type AttrOrigin EntryInputPurposePropertyInfo = Entry
    attrGet _ = getEntryInputPurpose
    attrSet _ = setEntryInputPurpose
    attrConstruct _ = constructEntryInputPurpose
    attrClear _ = undefined

-- VVV Prop "invisible-char"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

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

constructEntryInvisibleChar :: (IsEntry o) => Word32 -> IO (GValueConstruct o)
constructEntryInvisibleChar val = constructObjectPropertyUInt32 "invisible-char" val

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

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

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

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

constructEntryInvisibleCharSet :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryInvisibleCharSetPropertyInfo = Bool
    type AttrLabel EntryInvisibleCharSetPropertyInfo = "invisible-char-set"
    type AttrOrigin EntryInvisibleCharSetPropertyInfo = Entry
    attrGet _ = getEntryInvisibleCharSet
    attrSet _ = setEntryInvisibleCharSet
    attrConstruct _ = constructEntryInvisibleCharSet
    attrClear _ = undefined

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

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

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

constructEntryMaxLength :: (IsEntry o) => Int32 -> IO (GValueConstruct o)
constructEntryMaxLength val = constructObjectPropertyInt32 "max-length" val

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

-- VVV Prop "max-width-chars"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

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

constructEntryMaxWidthChars :: (IsEntry o) => Int32 -> IO (GValueConstruct o)
constructEntryMaxWidthChars val = constructObjectPropertyInt32 "max-width-chars" val

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

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

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

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

constructEntryOverwriteMode :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryOverwriteModePropertyInfo = Bool
    type AttrLabel EntryOverwriteModePropertyInfo = "overwrite-mode"
    type AttrOrigin EntryOverwriteModePropertyInfo = Entry
    attrGet _ = getEntryOverwriteMode
    attrSet _ = setEntryOverwriteMode
    attrConstruct _ = constructEntryOverwriteMode
    attrClear _ = undefined

-- VVV Prop "placeholder-text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just True)

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

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

constructEntryPlaceholderText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryPlaceholderText val = constructObjectPropertyString "placeholder-text" (Just val)

clearEntryPlaceholderText :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPlaceholderText obj = liftIO $ setObjectPropertyString obj "placeholder-text" (Nothing :: Maybe T.Text)

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

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

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

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

constructEntryPopulateAll :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryPopulateAllPropertyInfo = Bool
    type AttrLabel EntryPopulateAllPropertyInfo = "populate-all"
    type AttrOrigin EntryPopulateAllPropertyInfo = Entry
    attrGet _ = getEntryPopulateAll
    attrSet _ = setEntryPopulateAll
    attrConstruct _ = constructEntryPopulateAll
    attrClear _ = undefined

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

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

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

constructEntryPrimaryIconActivatable :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryPrimaryIconActivatablePropertyInfo = Bool
    type AttrLabel EntryPrimaryIconActivatablePropertyInfo = "primary-icon-activatable"
    type AttrOrigin EntryPrimaryIconActivatablePropertyInfo = Entry
    attrGet _ = getEntryPrimaryIconActivatable
    attrSet _ = setEntryPrimaryIconActivatable
    attrConstruct _ = constructEntryPrimaryIconActivatable
    attrClear _ = undefined

-- VVV Prop "primary-icon-gicon"
   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

setEntryPrimaryIconGicon :: (MonadIO m, IsEntry o, Gio.Icon.IsIcon a) => o -> a -> m ()
setEntryPrimaryIconGicon obj val = liftIO $ setObjectPropertyObject obj "primary-icon-gicon" (Just val)

constructEntryPrimaryIconGicon :: (IsEntry o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
constructEntryPrimaryIconGicon val = constructObjectPropertyObject "primary-icon-gicon" (Just val)

clearEntryPrimaryIconGicon :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPrimaryIconGicon obj = liftIO $ setObjectPropertyObject obj "primary-icon-gicon" (Nothing :: Maybe Gio.Icon.Icon)

data EntryPrimaryIconGiconPropertyInfo
instance AttrInfo EntryPrimaryIconGiconPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint EntryPrimaryIconGiconPropertyInfo = Gio.Icon.IsIcon
    type AttrBaseTypeConstraint EntryPrimaryIconGiconPropertyInfo = IsEntry
    type AttrGetType EntryPrimaryIconGiconPropertyInfo = (Maybe Gio.Icon.Icon)
    type AttrLabel EntryPrimaryIconGiconPropertyInfo = "primary-icon-gicon"
    type AttrOrigin EntryPrimaryIconGiconPropertyInfo = Entry
    attrGet _ = getEntryPrimaryIconGicon
    attrSet _ = setEntryPrimaryIconGicon
    attrConstruct _ = constructEntryPrimaryIconGicon
    attrClear _ = clearEntryPrimaryIconGicon

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

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

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

constructEntryPrimaryIconName :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryPrimaryIconName val = constructObjectPropertyString "primary-icon-name" (Just val)

clearEntryPrimaryIconName :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPrimaryIconName obj = liftIO $ setObjectPropertyString obj "primary-icon-name" (Nothing :: Maybe T.Text)

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

-- VVV Prop "primary-icon-pixbuf"
   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

setEntryPrimaryIconPixbuf :: (MonadIO m, IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
setEntryPrimaryIconPixbuf obj val = liftIO $ setObjectPropertyObject obj "primary-icon-pixbuf" (Just val)

constructEntryPrimaryIconPixbuf :: (IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
constructEntryPrimaryIconPixbuf val = constructObjectPropertyObject "primary-icon-pixbuf" (Just val)

clearEntryPrimaryIconPixbuf :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPrimaryIconPixbuf obj = liftIO $ setObjectPropertyObject obj "primary-icon-pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)

data EntryPrimaryIconPixbufPropertyInfo
instance AttrInfo EntryPrimaryIconPixbufPropertyInfo where
    type AttrAllowedOps EntryPrimaryIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint EntryPrimaryIconPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
    type AttrBaseTypeConstraint EntryPrimaryIconPixbufPropertyInfo = IsEntry
    type AttrGetType EntryPrimaryIconPixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
    type AttrLabel EntryPrimaryIconPixbufPropertyInfo = "primary-icon-pixbuf"
    type AttrOrigin EntryPrimaryIconPixbufPropertyInfo = Entry
    attrGet _ = getEntryPrimaryIconPixbuf
    attrSet _ = setEntryPrimaryIconPixbuf
    attrConstruct _ = constructEntryPrimaryIconPixbuf
    attrClear _ = clearEntryPrimaryIconPixbuf

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

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

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

constructEntryPrimaryIconSensitive :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryPrimaryIconSensitivePropertyInfo = Bool
    type AttrLabel EntryPrimaryIconSensitivePropertyInfo = "primary-icon-sensitive"
    type AttrOrigin EntryPrimaryIconSensitivePropertyInfo = Entry
    attrGet _ = getEntryPrimaryIconSensitive
    attrSet _ = setEntryPrimaryIconSensitive
    attrConstruct _ = constructEntryPrimaryIconSensitive
    attrClear _ = undefined

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

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

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

constructEntryPrimaryIconStock :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryPrimaryIconStock val = constructObjectPropertyString "primary-icon-stock" (Just val)

clearEntryPrimaryIconStock :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPrimaryIconStock obj = liftIO $ setObjectPropertyString obj "primary-icon-stock" (Nothing :: Maybe T.Text)

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

-- VVV Prop "primary-icon-storage-type"
   -- Type: TInterface (Name {namespace = "Gtk", name = "ImageType"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getEntryPrimaryIconStorageType :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.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 = IsEntry
    type AttrGetType EntryPrimaryIconStorageTypePropertyInfo = Gtk.Enums.ImageType
    type AttrLabel EntryPrimaryIconStorageTypePropertyInfo = "primary-icon-storage-type"
    type AttrOrigin EntryPrimaryIconStorageTypePropertyInfo = Entry
    attrGet _ = getEntryPrimaryIconStorageType
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

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

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

constructEntryPrimaryIconTooltipMarkup :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryPrimaryIconTooltipMarkup val = constructObjectPropertyString "primary-icon-tooltip-markup" (Just val)

clearEntryPrimaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPrimaryIconTooltipMarkup obj = liftIO $ setObjectPropertyString obj "primary-icon-tooltip-markup" (Nothing :: Maybe T.Text)

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

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

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

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

constructEntryPrimaryIconTooltipText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryPrimaryIconTooltipText val = constructObjectPropertyString "primary-icon-tooltip-text" (Just val)

clearEntryPrimaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> m ()
clearEntryPrimaryIconTooltipText obj = liftIO $ setObjectPropertyString obj "primary-icon-tooltip-text" (Nothing :: Maybe T.Text)

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

-- VVV Prop "progress-fraction"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

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

constructEntryProgressFraction :: (IsEntry o) => Double -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryProgressFractionPropertyInfo = Double
    type AttrLabel EntryProgressFractionPropertyInfo = "progress-fraction"
    type AttrOrigin EntryProgressFractionPropertyInfo = Entry
    attrGet _ = getEntryProgressFraction
    attrSet _ = setEntryProgressFraction
    attrConstruct _ = constructEntryProgressFraction
    attrClear _ = undefined

-- VVV Prop "progress-pulse-step"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

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

constructEntryProgressPulseStep :: (IsEntry o) => Double -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryProgressPulseStepPropertyInfo = Double
    type AttrLabel EntryProgressPulseStepPropertyInfo = "progress-pulse-step"
    type AttrOrigin EntryProgressPulseStepPropertyInfo = Entry
    attrGet _ = getEntryProgressPulseStep
    attrSet _ = setEntryProgressPulseStep
    attrConstruct _ = constructEntryProgressPulseStep
    attrClear _ = undefined

-- VVV Prop "scroll-offset"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

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

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

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

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

constructEntrySecondaryIconActivatable :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntrySecondaryIconActivatablePropertyInfo = Bool
    type AttrLabel EntrySecondaryIconActivatablePropertyInfo = "secondary-icon-activatable"
    type AttrOrigin EntrySecondaryIconActivatablePropertyInfo = Entry
    attrGet _ = getEntrySecondaryIconActivatable
    attrSet _ = setEntrySecondaryIconActivatable
    attrConstruct _ = constructEntrySecondaryIconActivatable
    attrClear _ = undefined

-- VVV Prop "secondary-icon-gicon"
   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

setEntrySecondaryIconGicon :: (MonadIO m, IsEntry o, Gio.Icon.IsIcon a) => o -> a -> m ()
setEntrySecondaryIconGicon obj val = liftIO $ setObjectPropertyObject obj "secondary-icon-gicon" (Just val)

constructEntrySecondaryIconGicon :: (IsEntry o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
constructEntrySecondaryIconGicon val = constructObjectPropertyObject "secondary-icon-gicon" (Just val)

clearEntrySecondaryIconGicon :: (MonadIO m, IsEntry o) => o -> m ()
clearEntrySecondaryIconGicon obj = liftIO $ setObjectPropertyObject obj "secondary-icon-gicon" (Nothing :: Maybe Gio.Icon.Icon)

data EntrySecondaryIconGiconPropertyInfo
instance AttrInfo EntrySecondaryIconGiconPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint EntrySecondaryIconGiconPropertyInfo = Gio.Icon.IsIcon
    type AttrBaseTypeConstraint EntrySecondaryIconGiconPropertyInfo = IsEntry
    type AttrGetType EntrySecondaryIconGiconPropertyInfo = (Maybe Gio.Icon.Icon)
    type AttrLabel EntrySecondaryIconGiconPropertyInfo = "secondary-icon-gicon"
    type AttrOrigin EntrySecondaryIconGiconPropertyInfo = Entry
    attrGet _ = getEntrySecondaryIconGicon
    attrSet _ = setEntrySecondaryIconGicon
    attrConstruct _ = constructEntrySecondaryIconGicon
    attrClear _ = clearEntrySecondaryIconGicon

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

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

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

constructEntrySecondaryIconName :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntrySecondaryIconName val = constructObjectPropertyString "secondary-icon-name" (Just val)

clearEntrySecondaryIconName :: (MonadIO m, IsEntry o) => o -> m ()
clearEntrySecondaryIconName obj = liftIO $ setObjectPropertyString obj "secondary-icon-name" (Nothing :: Maybe T.Text)

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

-- VVV Prop "secondary-icon-pixbuf"
   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

setEntrySecondaryIconPixbuf :: (MonadIO m, IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
setEntrySecondaryIconPixbuf obj val = liftIO $ setObjectPropertyObject obj "secondary-icon-pixbuf" (Just val)

constructEntrySecondaryIconPixbuf :: (IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
constructEntrySecondaryIconPixbuf val = constructObjectPropertyObject "secondary-icon-pixbuf" (Just val)

clearEntrySecondaryIconPixbuf :: (MonadIO m, IsEntry o) => o -> m ()
clearEntrySecondaryIconPixbuf obj = liftIO $ setObjectPropertyObject obj "secondary-icon-pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)

data EntrySecondaryIconPixbufPropertyInfo
instance AttrInfo EntrySecondaryIconPixbufPropertyInfo where
    type AttrAllowedOps EntrySecondaryIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint EntrySecondaryIconPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
    type AttrBaseTypeConstraint EntrySecondaryIconPixbufPropertyInfo = IsEntry
    type AttrGetType EntrySecondaryIconPixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
    type AttrLabel EntrySecondaryIconPixbufPropertyInfo = "secondary-icon-pixbuf"
    type AttrOrigin EntrySecondaryIconPixbufPropertyInfo = Entry
    attrGet _ = getEntrySecondaryIconPixbuf
    attrSet _ = setEntrySecondaryIconPixbuf
    attrConstruct _ = constructEntrySecondaryIconPixbuf
    attrClear _ = clearEntrySecondaryIconPixbuf

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

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

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

constructEntrySecondaryIconSensitive :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntrySecondaryIconSensitivePropertyInfo = Bool
    type AttrLabel EntrySecondaryIconSensitivePropertyInfo = "secondary-icon-sensitive"
    type AttrOrigin EntrySecondaryIconSensitivePropertyInfo = Entry
    attrGet _ = getEntrySecondaryIconSensitive
    attrSet _ = setEntrySecondaryIconSensitive
    attrConstruct _ = constructEntrySecondaryIconSensitive
    attrClear _ = undefined

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

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

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

constructEntrySecondaryIconStock :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntrySecondaryIconStock val = constructObjectPropertyString "secondary-icon-stock" (Just val)

clearEntrySecondaryIconStock :: (MonadIO m, IsEntry o) => o -> m ()
clearEntrySecondaryIconStock obj = liftIO $ setObjectPropertyString obj "secondary-icon-stock" (Nothing :: Maybe T.Text)

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

-- VVV Prop "secondary-icon-storage-type"
   -- Type: TInterface (Name {namespace = "Gtk", name = "ImageType"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getEntrySecondaryIconStorageType :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.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 = IsEntry
    type AttrGetType EntrySecondaryIconStorageTypePropertyInfo = Gtk.Enums.ImageType
    type AttrLabel EntrySecondaryIconStorageTypePropertyInfo = "secondary-icon-storage-type"
    type AttrOrigin EntrySecondaryIconStorageTypePropertyInfo = Entry
    attrGet _ = getEntrySecondaryIconStorageType
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

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

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

constructEntrySecondaryIconTooltipMarkup :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntrySecondaryIconTooltipMarkup val = constructObjectPropertyString "secondary-icon-tooltip-markup" (Just val)

clearEntrySecondaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> m ()
clearEntrySecondaryIconTooltipMarkup obj = liftIO $ setObjectPropertyString obj "secondary-icon-tooltip-markup" (Nothing :: Maybe T.Text)

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

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

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

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

constructEntrySecondaryIconTooltipText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntrySecondaryIconTooltipText val = constructObjectPropertyString "secondary-icon-tooltip-text" (Just val)

clearEntrySecondaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> m ()
clearEntrySecondaryIconTooltipText obj = liftIO $ setObjectPropertyString obj "secondary-icon-tooltip-text" (Nothing :: Maybe T.Text)

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

-- VVV Prop "selection-bound"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

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

-- VVV Prop "shadow-type"
   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getEntryShadowType :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.ShadowType
getEntryShadowType obj = liftIO $ getObjectPropertyEnum obj "shadow-type"

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

constructEntryShadowType :: (IsEntry o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
constructEntryShadowType val = constructObjectPropertyEnum "shadow-type" val

data EntryShadowTypePropertyInfo
instance AttrInfo EntryShadowTypePropertyInfo where
    type AttrAllowedOps EntryShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint EntryShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
    type AttrBaseTypeConstraint EntryShadowTypePropertyInfo = IsEntry
    type AttrGetType EntryShadowTypePropertyInfo = Gtk.Enums.ShadowType
    type AttrLabel EntryShadowTypePropertyInfo = "shadow-type"
    type AttrOrigin EntryShadowTypePropertyInfo = Entry
    attrGet _ = getEntryShadowType
    attrSet _ = setEntryShadowType
    attrConstruct _ = constructEntryShadowType
    attrClear _ = undefined

-- VVV Prop "tabs"
   -- Type: TInterface (Name {namespace = "Pango", name = "TabArray"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just False)

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

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

constructEntryTabs :: (IsEntry o) => Pango.TabArray.TabArray -> IO (GValueConstruct o)
constructEntryTabs val = constructObjectPropertyBoxed "tabs" (Just val)

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

-- VVV Prop "text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

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

constructEntryText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
constructEntryText val = constructObjectPropertyString "text" (Just val)

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

-- VVV Prop "text-length"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

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

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

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

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

constructEntryTruncateMultiline :: (IsEntry o) => Bool -> IO (GValueConstruct o)
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 = IsEntry
    type AttrGetType EntryTruncateMultilinePropertyInfo = Bool
    type AttrLabel EntryTruncateMultilinePropertyInfo = "truncate-multiline"
    type AttrOrigin EntryTruncateMultilinePropertyInfo = Entry
    attrGet _ = getEntryTruncateMultiline
    attrSet _ = setEntryTruncateMultiline
    attrConstruct _ = constructEntryTruncateMultiline
    attrClear _ = undefined

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

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

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

constructEntryVisibility :: (IsEntry o) => Bool -> IO (GValueConstruct o)
constructEntryVisibility val = constructObjectPropertyBool "visibility" val

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

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

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

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

constructEntryWidthChars :: (IsEntry o) => Int32 -> IO (GValueConstruct o)
constructEntryWidthChars val = constructObjectPropertyInt32 "width-chars" val

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

-- VVV Prop "xalign"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

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

constructEntryXalign :: (IsEntry o) => Float -> IO (GValueConstruct o)
constructEntryXalign val = constructObjectPropertyFloat "xalign" val

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

instance O.HasAttributeList Entry
type instance O.AttributeList Entry = EntryAttributeList
type EntryAttributeList = ('[ '("activatesDefault", EntryActivatesDefaultPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attributes", EntryAttributesPropertyInfo), '("buffer", EntryBufferPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("capsLockWarning", EntryCapsLockWarningPropertyInfo), '("completion", EntryCompletionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorPosition", EntryCursorPositionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editable", EntryEditablePropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", EntryHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("imModule", EntryImModulePropertyInfo), '("innerBorder", EntryInnerBorderPropertyInfo), '("inputHints", EntryInputHintsPropertyInfo), '("inputPurpose", EntryInputPurposePropertyInfo), '("invisibleChar", EntryInvisibleCharPropertyInfo), '("invisibleCharSet", EntryInvisibleCharSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxLength", EntryMaxLengthPropertyInfo), '("maxWidthChars", EntryMaxWidthCharsPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overwriteMode", EntryOverwriteModePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("placeholderText", EntryPlaceholderTextPropertyInfo), '("populateAll", EntryPopulateAllPropertyInfo), '("primaryIconActivatable", EntryPrimaryIconActivatablePropertyInfo), '("primaryIconGicon", EntryPrimaryIconGiconPropertyInfo), '("primaryIconName", EntryPrimaryIconNamePropertyInfo), '("primaryIconPixbuf", EntryPrimaryIconPixbufPropertyInfo), '("primaryIconSensitive", EntryPrimaryIconSensitivePropertyInfo), '("primaryIconStock", EntryPrimaryIconStockPropertyInfo), '("primaryIconStorageType", EntryPrimaryIconStorageTypePropertyInfo), '("primaryIconTooltipMarkup", EntryPrimaryIconTooltipMarkupPropertyInfo), '("primaryIconTooltipText", EntryPrimaryIconTooltipTextPropertyInfo), '("progressFraction", EntryProgressFractionPropertyInfo), '("progressPulseStep", EntryProgressPulseStepPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("scrollOffset", EntryScrollOffsetPropertyInfo), '("secondaryIconActivatable", EntrySecondaryIconActivatablePropertyInfo), '("secondaryIconGicon", EntrySecondaryIconGiconPropertyInfo), '("secondaryIconName", EntrySecondaryIconNamePropertyInfo), '("secondaryIconPixbuf", EntrySecondaryIconPixbufPropertyInfo), '("secondaryIconSensitive", EntrySecondaryIconSensitivePropertyInfo), '("secondaryIconStock", EntrySecondaryIconStockPropertyInfo), '("secondaryIconStorageType", EntrySecondaryIconStorageTypePropertyInfo), '("secondaryIconTooltipMarkup", EntrySecondaryIconTooltipMarkupPropertyInfo), '("secondaryIconTooltipText", EntrySecondaryIconTooltipTextPropertyInfo), '("selectionBound", EntrySelectionBoundPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", EntryShadowTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabs", EntryTabsPropertyInfo), '("text", EntryTextPropertyInfo), '("textLength", EntryTextLengthPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("truncateMultiline", EntryTruncateMultilinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visibility", EntryVisibilityPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", EntryWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", EntryXalignPropertyInfo)] :: [(Symbol, *)])

entryActivatesDefault :: AttrLabelProxy "activatesDefault"
entryActivatesDefault = AttrLabelProxy

entryAttributes :: AttrLabelProxy "attributes"
entryAttributes = AttrLabelProxy

entryBuffer :: AttrLabelProxy "buffer"
entryBuffer = AttrLabelProxy

entryCapsLockWarning :: AttrLabelProxy "capsLockWarning"
entryCapsLockWarning = AttrLabelProxy

entryCompletion :: AttrLabelProxy "completion"
entryCompletion = AttrLabelProxy

entryCursorPosition :: AttrLabelProxy "cursorPosition"
entryCursorPosition = AttrLabelProxy

entryEditable :: AttrLabelProxy "editable"
entryEditable = AttrLabelProxy

entryHasFrame :: AttrLabelProxy "hasFrame"
entryHasFrame = AttrLabelProxy

entryImModule :: AttrLabelProxy "imModule"
entryImModule = AttrLabelProxy

entryInnerBorder :: AttrLabelProxy "innerBorder"
entryInnerBorder = AttrLabelProxy

entryInputHints :: AttrLabelProxy "inputHints"
entryInputHints = AttrLabelProxy

entryInputPurpose :: AttrLabelProxy "inputPurpose"
entryInputPurpose = AttrLabelProxy

entryInvisibleChar :: AttrLabelProxy "invisibleChar"
entryInvisibleChar = AttrLabelProxy

entryInvisibleCharSet :: AttrLabelProxy "invisibleCharSet"
entryInvisibleCharSet = AttrLabelProxy

entryMaxLength :: AttrLabelProxy "maxLength"
entryMaxLength = AttrLabelProxy

entryMaxWidthChars :: AttrLabelProxy "maxWidthChars"
entryMaxWidthChars = AttrLabelProxy

entryOverwriteMode :: AttrLabelProxy "overwriteMode"
entryOverwriteMode = AttrLabelProxy

entryPlaceholderText :: AttrLabelProxy "placeholderText"
entryPlaceholderText = AttrLabelProxy

entryPopulateAll :: AttrLabelProxy "populateAll"
entryPopulateAll = AttrLabelProxy

entryPrimaryIconActivatable :: AttrLabelProxy "primaryIconActivatable"
entryPrimaryIconActivatable = AttrLabelProxy

entryPrimaryIconGicon :: AttrLabelProxy "primaryIconGicon"
entryPrimaryIconGicon = AttrLabelProxy

entryPrimaryIconName :: AttrLabelProxy "primaryIconName"
entryPrimaryIconName = AttrLabelProxy

entryPrimaryIconPixbuf :: AttrLabelProxy "primaryIconPixbuf"
entryPrimaryIconPixbuf = AttrLabelProxy

entryPrimaryIconSensitive :: AttrLabelProxy "primaryIconSensitive"
entryPrimaryIconSensitive = AttrLabelProxy

entryPrimaryIconStock :: AttrLabelProxy "primaryIconStock"
entryPrimaryIconStock = AttrLabelProxy

entryPrimaryIconStorageType :: AttrLabelProxy "primaryIconStorageType"
entryPrimaryIconStorageType = AttrLabelProxy

entryPrimaryIconTooltipMarkup :: AttrLabelProxy "primaryIconTooltipMarkup"
entryPrimaryIconTooltipMarkup = AttrLabelProxy

entryPrimaryIconTooltipText :: AttrLabelProxy "primaryIconTooltipText"
entryPrimaryIconTooltipText = AttrLabelProxy

entryProgressFraction :: AttrLabelProxy "progressFraction"
entryProgressFraction = AttrLabelProxy

entryProgressPulseStep :: AttrLabelProxy "progressPulseStep"
entryProgressPulseStep = AttrLabelProxy

entryScrollOffset :: AttrLabelProxy "scrollOffset"
entryScrollOffset = AttrLabelProxy

entrySecondaryIconActivatable :: AttrLabelProxy "secondaryIconActivatable"
entrySecondaryIconActivatable = AttrLabelProxy

entrySecondaryIconGicon :: AttrLabelProxy "secondaryIconGicon"
entrySecondaryIconGicon = AttrLabelProxy

entrySecondaryIconName :: AttrLabelProxy "secondaryIconName"
entrySecondaryIconName = AttrLabelProxy

entrySecondaryIconPixbuf :: AttrLabelProxy "secondaryIconPixbuf"
entrySecondaryIconPixbuf = AttrLabelProxy

entrySecondaryIconSensitive :: AttrLabelProxy "secondaryIconSensitive"
entrySecondaryIconSensitive = AttrLabelProxy

entrySecondaryIconStock :: AttrLabelProxy "secondaryIconStock"
entrySecondaryIconStock = AttrLabelProxy

entrySecondaryIconStorageType :: AttrLabelProxy "secondaryIconStorageType"
entrySecondaryIconStorageType = AttrLabelProxy

entrySecondaryIconTooltipMarkup :: AttrLabelProxy "secondaryIconTooltipMarkup"
entrySecondaryIconTooltipMarkup = AttrLabelProxy

entrySecondaryIconTooltipText :: AttrLabelProxy "secondaryIconTooltipText"
entrySecondaryIconTooltipText = AttrLabelProxy

entrySelectionBound :: AttrLabelProxy "selectionBound"
entrySelectionBound = AttrLabelProxy

entryShadowType :: AttrLabelProxy "shadowType"
entryShadowType = AttrLabelProxy

entryTabs :: AttrLabelProxy "tabs"
entryTabs = AttrLabelProxy

entryText :: AttrLabelProxy "text"
entryText = AttrLabelProxy

entryTextLength :: AttrLabelProxy "textLength"
entryTextLength = AttrLabelProxy

entryTruncateMultiline :: AttrLabelProxy "truncateMultiline"
entryTruncateMultiline = AttrLabelProxy

entryVisibility :: AttrLabelProxy "visibility"
entryVisibility = AttrLabelProxy

entryWidthChars :: AttrLabelProxy "widthChars"
entryWidthChars = AttrLabelProxy

entryXalign :: AttrLabelProxy "xalign"
entryXalign = AttrLabelProxy

data EntryActivateSignalInfo
instance SignalInfo EntryActivateSignalInfo where
    type HaskellCallbackType EntryActivateSignalInfo = EntryActivateCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryActivateCallback cb
        cb'' <- mk_EntryActivateCallback cb'
        connectSignalFunPtr obj "activate" cb'' connectMode

data EntryBackspaceSignalInfo
instance SignalInfo EntryBackspaceSignalInfo where
    type HaskellCallbackType EntryBackspaceSignalInfo = EntryBackspaceCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryBackspaceCallback cb
        cb'' <- mk_EntryBackspaceCallback cb'
        connectSignalFunPtr obj "backspace" cb'' connectMode

data EntryCopyClipboardSignalInfo
instance SignalInfo EntryCopyClipboardSignalInfo where
    type HaskellCallbackType EntryCopyClipboardSignalInfo = EntryCopyClipboardCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryCopyClipboardCallback cb
        cb'' <- mk_EntryCopyClipboardCallback cb'
        connectSignalFunPtr obj "copy-clipboard" cb'' connectMode

data EntryCutClipboardSignalInfo
instance SignalInfo EntryCutClipboardSignalInfo where
    type HaskellCallbackType EntryCutClipboardSignalInfo = EntryCutClipboardCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryCutClipboardCallback cb
        cb'' <- mk_EntryCutClipboardCallback cb'
        connectSignalFunPtr obj "cut-clipboard" cb'' connectMode

data EntryDeleteFromCursorSignalInfo
instance SignalInfo EntryDeleteFromCursorSignalInfo where
    type HaskellCallbackType EntryDeleteFromCursorSignalInfo = EntryDeleteFromCursorCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryDeleteFromCursorCallback cb
        cb'' <- mk_EntryDeleteFromCursorCallback cb'
        connectSignalFunPtr obj "delete-from-cursor" cb'' connectMode

data EntryIconPressSignalInfo
instance SignalInfo EntryIconPressSignalInfo where
    type HaskellCallbackType EntryIconPressSignalInfo = EntryIconPressCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryIconPressCallback cb
        cb'' <- mk_EntryIconPressCallback cb'
        connectSignalFunPtr obj "icon-press" cb'' connectMode

data EntryIconReleaseSignalInfo
instance SignalInfo EntryIconReleaseSignalInfo where
    type HaskellCallbackType EntryIconReleaseSignalInfo = EntryIconReleaseCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryIconReleaseCallback cb
        cb'' <- mk_EntryIconReleaseCallback cb'
        connectSignalFunPtr obj "icon-release" cb'' connectMode

data EntryInsertAtCursorSignalInfo
instance SignalInfo EntryInsertAtCursorSignalInfo where
    type HaskellCallbackType EntryInsertAtCursorSignalInfo = EntryInsertAtCursorCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryInsertAtCursorCallback cb
        cb'' <- mk_EntryInsertAtCursorCallback cb'
        connectSignalFunPtr obj "insert-at-cursor" cb'' connectMode

data EntryMoveCursorSignalInfo
instance SignalInfo EntryMoveCursorSignalInfo where
    type HaskellCallbackType EntryMoveCursorSignalInfo = EntryMoveCursorCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryMoveCursorCallback cb
        cb'' <- mk_EntryMoveCursorCallback cb'
        connectSignalFunPtr obj "move-cursor" cb'' connectMode

data EntryPasteClipboardSignalInfo
instance SignalInfo EntryPasteClipboardSignalInfo where
    type HaskellCallbackType EntryPasteClipboardSignalInfo = EntryPasteClipboardCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryPasteClipboardCallback cb
        cb'' <- mk_EntryPasteClipboardCallback cb'
        connectSignalFunPtr obj "paste-clipboard" cb'' connectMode

data EntryPopulatePopupSignalInfo
instance SignalInfo EntryPopulatePopupSignalInfo where
    type HaskellCallbackType EntryPopulatePopupSignalInfo = EntryPopulatePopupCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryPopulatePopupCallback cb
        cb'' <- mk_EntryPopulatePopupCallback cb'
        connectSignalFunPtr obj "populate-popup" cb'' connectMode

data EntryPreeditChangedSignalInfo
instance SignalInfo EntryPreeditChangedSignalInfo where
    type HaskellCallbackType EntryPreeditChangedSignalInfo = EntryPreeditChangedCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryPreeditChangedCallback cb
        cb'' <- mk_EntryPreeditChangedCallback cb'
        connectSignalFunPtr obj "preedit-changed" cb'' connectMode

data EntryToggleOverwriteSignalInfo
instance SignalInfo EntryToggleOverwriteSignalInfo where
    type HaskellCallbackType EntryToggleOverwriteSignalInfo = EntryToggleOverwriteCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_EntryToggleOverwriteCallback cb
        cb'' <- mk_EntryToggleOverwriteCallback cb'
        connectSignalFunPtr obj "toggle-overwrite" cb'' connectMode

type instance O.SignalList Entry = EntrySignalList
type EntrySignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", EntryActivateSignalInfo), '("backspace", EntryBackspaceSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", Gtk.Editable.EditableChangedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", EntryCopyClipboardSignalInfo), '("cutClipboard", EntryCutClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deleteFromCursor", EntryDeleteFromCursorSignalInfo), '("deleteText", Gtk.Editable.EditableDeleteTextSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("iconPress", EntryIconPressSignalInfo), '("iconRelease", EntryIconReleaseSignalInfo), '("insertAtCursor", EntryInsertAtCursorSignalInfo), '("insertText", Gtk.Editable.EditableInsertTextSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", EntryMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("pasteClipboard", EntryPasteClipboardSignalInfo), '("populatePopup", EntryPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("preeditChanged", EntryPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleOverwrite", EntryToggleOverwriteSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])

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

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

{- |
Creates a new entry.
-}
entryNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m Entry
    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Entry.Entry'. -}
entryNew  = liftIO $ do
    result <- gtk_entry_new
    checkUnexpectedReturnNULL "entryNew" result
    result' <- (newObject Entry) result
    return result'

-- method Entry::new_with_buffer
-- method type : Constructor
-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The buffer to use for the new #GtkEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Entry"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_new_with_buffer" gtk_entry_new_with_buffer :: 
    Ptr Gtk.EntryBuffer.EntryBuffer ->      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
    IO (Ptr Entry)

{- |
Creates a new entry with the specified text buffer.

@since 2.18
-}
entryNewWithBuffer ::
    (B.CallStack.HasCallStack, MonadIO m, Gtk.EntryBuffer.IsEntryBuffer a) =>
    a
    {- ^ /@buffer@/: The buffer to use for the new 'GI.Gtk.Objects.Entry.Entry'. -}
    -> m Entry
    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Entry.Entry' -}
entryNewWithBuffer buffer = liftIO $ do
    buffer' <- unsafeManagedPtrCastPtr buffer
    result <- gtk_entry_new_with_buffer buffer'
    checkUnexpectedReturnNULL "entryNewWithBuffer" result
    result' <- (newObject Entry) result
    touchManagedPtr buffer
    return result'

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

foreign import ccall "gtk_entry_get_activates_default" gtk_entry_get_activates_default :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CInt

{- |
Retrieves the value set by 'GI.Gtk.Objects.Entry.entrySetActivatesDefault'.
-}
entryGetActivatesDefault ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the entry will activate the default widget -}
entryGetActivatesDefault entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_activates_default entry'
    let result' = (/= 0) result
    touchManagedPtr entry
    return result'

data EntryGetActivatesDefaultMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetActivatesDefaultMethodInfo a signature where
    overloadedMethod _ = entryGetActivatesDefault

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

foreign import ccall "gtk_entry_get_alignment" gtk_entry_get_alignment :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CFloat

{- |
Gets the value set by 'GI.Gtk.Objects.Entry.entrySetAlignment'.

@since 2.4
-}
entryGetAlignment ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Float
    {- ^ __Returns:__ the alignment -}
entryGetAlignment entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_alignment entry'
    let result' = realToFrac result
    touchManagedPtr entry
    return result'

data EntryGetAlignmentMethodInfo
instance (signature ~ (m Float), MonadIO m, IsEntry a) => O.MethodInfo EntryGetAlignmentMethodInfo a signature where
    overloadedMethod _ = entryGetAlignment

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

foreign import ccall "gtk_entry_get_attributes" gtk_entry_get_attributes :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Pango.AttrList.AttrList)

{- |
Gets the attribute list that was set on the entry using
'GI.Gtk.Objects.Entry.entrySetAttributes', if any.

@since 3.6
-}
entryGetAttributes ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m (Maybe Pango.AttrList.AttrList)
    {- ^ __Returns:__ the attribute list, or 'Nothing'
    if none was set. -}
entryGetAttributes entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_attributes entry'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newBoxed Pango.AttrList.AttrList) result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetAttributesMethodInfo
instance (signature ~ (m (Maybe Pango.AttrList.AttrList)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetAttributesMethodInfo a signature where
    overloadedMethod _ = entryGetAttributes

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

foreign import ccall "gtk_entry_get_buffer" gtk_entry_get_buffer :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Gtk.EntryBuffer.EntryBuffer)

{- |
Get the 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object which holds the text for
this widget.

@since 2.18
-}
entryGetBuffer ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Gtk.EntryBuffer.EntryBuffer
    {- ^ __Returns:__ A 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object. -}
entryGetBuffer entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_buffer entry'
    checkUnexpectedReturnNULL "entryGetBuffer" result
    result' <- (newObject Gtk.EntryBuffer.EntryBuffer) result
    touchManagedPtr entry
    return result'

data EntryGetBufferMethodInfo
instance (signature ~ (m Gtk.EntryBuffer.EntryBuffer), MonadIO m, IsEntry a) => O.MethodInfo EntryGetBufferMethodInfo a signature where
    overloadedMethod _ = entryGetBuffer

-- method Entry::get_completion
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_completion" gtk_entry_get_completion :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Gtk.EntryCompletion.EntryCompletion)

{- |
Returns the auxiliary completion object currently in use by /@entry@/.

@since 2.4
-}
entryGetCompletion ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Gtk.EntryCompletion.EntryCompletion
    {- ^ __Returns:__ The auxiliary completion object currently
    in use by /@entry@/. -}
entryGetCompletion entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_completion entry'
    checkUnexpectedReturnNULL "entryGetCompletion" result
    result' <- (newObject Gtk.EntryCompletion.EntryCompletion) result
    touchManagedPtr entry
    return result'

data EntryGetCompletionMethodInfo
instance (signature ~ (m Gtk.EntryCompletion.EntryCompletion), MonadIO m, IsEntry a) => O.MethodInfo EntryGetCompletionMethodInfo a signature where
    overloadedMethod _ = entryGetCompletion

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

foreign import ccall "gtk_entry_get_current_icon_drag_source" gtk_entry_get_current_icon_drag_source :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO Int32

{- |
Returns the index of the icon which is the source of the current
DND operation, or -1.

This function is meant to be used in a 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-get/@
callback.

@since 2.16
-}
entryGetCurrentIconDragSource ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Int32
    {- ^ __Returns:__ index of the icon which is the source of the current
         DND operation, or -1. -}
entryGetCurrentIconDragSource entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_current_icon_drag_source entry'
    touchManagedPtr entry
    return result

data EntryGetCurrentIconDragSourceMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetCurrentIconDragSourceMethodInfo a signature where
    overloadedMethod _ = entryGetCurrentIconDragSource

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

foreign import ccall "gtk_entry_get_cursor_hadjustment" gtk_entry_get_cursor_hadjustment :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Gtk.Adjustment.Adjustment)

{- |
Retrieves the horizontal cursor adjustment for the entry.
See 'GI.Gtk.Objects.Entry.entrySetCursorHadjustment'.

@since 2.12
-}
entryGetCursorHadjustment ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m (Maybe Gtk.Adjustment.Adjustment)
    {- ^ __Returns:__ the horizontal cursor adjustment, or 'Nothing'
  if none has been set. -}
entryGetCursorHadjustment entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_cursor_hadjustment entry'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject Gtk.Adjustment.Adjustment) result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetCursorHadjustmentMethodInfo
instance (signature ~ (m (Maybe Gtk.Adjustment.Adjustment)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetCursorHadjustmentMethodInfo a signature where
    overloadedMethod _ = entryGetCursorHadjustment

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

foreign import ccall "gtk_entry_get_has_frame" gtk_entry_get_has_frame :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CInt

{- |
Gets the value set by 'GI.Gtk.Objects.Entry.entrySetHasFrame'.
-}
entryGetHasFrame ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Bool
    {- ^ __Returns:__ whether the entry has a beveled frame -}
entryGetHasFrame entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_has_frame entry'
    let result' = (/= 0) result
    touchManagedPtr entry
    return result'

data EntryGetHasFrameMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetHasFrameMethodInfo a signature where
    overloadedMethod _ = entryGetHasFrame

-- method Entry::get_icon_activatable
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_activatable" gtk_entry_get_icon_activatable :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CInt

{- |
Returns whether the icon is activatable.

@since 2.16
-}
entryGetIconActivatable ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the icon is activatable. -}
entryGetIconActivatable entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_activatable entry' iconPos'
    let result' = (/= 0) result
    touchManagedPtr entry
    return result'

data EntryGetIconActivatableMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconActivatableMethodInfo a signature where
    overloadedMethod _ = entryGetIconActivatable

-- method Entry::get_icon_area
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the icon\8217s area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_area" gtk_entry_get_icon_area :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    Ptr Gdk.Rectangle.Rectangle ->          -- icon_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
    IO ()

{- |
Gets the area where entry’s icon at /@iconPos@/ is drawn.
This function is useful when drawing something to the
entry in a draw callback.

If the entry is not realized or has no icon at the given position,
/@iconArea@/ is filled with zeros.

See also 'GI.Gtk.Objects.Entry.entryGetTextArea'

@since 3.0
-}
entryGetIconArea ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m (Gdk.Rectangle.Rectangle)
entryGetIconArea entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    iconArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
    gtk_entry_get_icon_area entry' iconPos' iconArea
    iconArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) iconArea
    touchManagedPtr entry
    return iconArea'

data EntryGetIconAreaMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconAreaMethodInfo a signature where
    overloadedMethod _ = entryGetIconArea

-- method Entry::get_icon_at_pos
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate of the position to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate of the position to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_at_pos" gtk_entry_get_icon_at_pos :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Int32 ->                                -- x : TBasicType TInt
    Int32 ->                                -- y : TBasicType TInt
    IO Int32

{- |
Finds the icon at the given position and return its index. The
position’s coordinates are relative to the /@entry@/’s top left corner.
If /@x@/, /@y@/ doesn’t lie inside an icon, -1 is returned.
This function is intended for use in a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@
signal handler.

@since 2.16
-}
entryGetIconAtPos ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Int32
    {- ^ /@x@/: the x coordinate of the position to find -}
    -> Int32
    {- ^ /@y@/: the y coordinate of the position to find -}
    -> m Int32
    {- ^ __Returns:__ the index of the icon at the given position, or -1 -}
entryGetIconAtPos entry x y = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_icon_at_pos entry' x y
    touchManagedPtr entry
    return result

data EntryGetIconAtPosMethodInfo
instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconAtPosMethodInfo a signature where
    overloadedMethod _ = entryGetIconAtPos

-- method Entry::get_icon_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_gicon" gtk_entry_get_icon_gicon :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO (Ptr Gio.Icon.Icon)

{- |
Retrieves the 'GI.Gio.Interfaces.Icon.Icon' used for the icon, or 'Nothing' if there is
no icon or if the icon was set by some other method (e.g., by
stock, pixbuf, or icon name).

@since 2.16
-}
entryGetIconGicon ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m (Maybe Gio.Icon.Icon)
    {- ^ __Returns:__ A 'GI.Gio.Interfaces.Icon.Icon', or 'Nothing' if no icon is set
    or if the icon is not a 'GI.Gio.Interfaces.Icon.Icon' -}
entryGetIconGicon entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_gicon entry' iconPos'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject Gio.Icon.Icon) result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetIconGiconMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe Gio.Icon.Icon)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconGiconMethodInfo a signature where
    overloadedMethod _ = entryGetIconGicon

-- method Entry::get_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_name" gtk_entry_get_icon_name :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CString

{- |
Retrieves the icon name used for the icon, or 'Nothing' if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, stock or gicon).

@since 2.16
-}
entryGetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ An icon name, or 'Nothing' if no icon is set or if the icon
         wasn’t set from an icon name -}
entryGetIconName entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_name entry' iconPos'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetIconNameMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe T.Text)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconNameMethodInfo a signature where
    overloadedMethod _ = entryGetIconName

-- method Entry::get_icon_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_pixbuf" gtk_entry_get_icon_pixbuf :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)

{- |
Retrieves the image used for the icon.

Unlike the other methods of setting and getting icon data, this
method will work regardless of whether the icon was set using a
'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', a 'GI.Gio.Interfaces.Icon.Icon', a stock item, or an icon name.

@since 2.16
-}
entryGetIconPixbuf ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
    {- ^ __Returns:__ A 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' if no icon is
    set for this position. -}
entryGetIconPixbuf entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_pixbuf entry' iconPos'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetIconPixbufMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconPixbufMethodInfo a signature where
    overloadedMethod _ = entryGetIconPixbuf

-- method Entry::get_icon_sensitive
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_sensitive" gtk_entry_get_icon_sensitive :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CInt

{- |
Returns whether the icon appears sensitive or insensitive.

@since 2.16
-}
entryGetIconSensitive ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the icon is sensitive. -}
entryGetIconSensitive entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_sensitive entry' iconPos'
    let result' = (/= 0) result
    touchManagedPtr entry
    return result'

data EntryGetIconSensitiveMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconSensitiveMethodInfo a signature where
    overloadedMethod _ = entryGetIconSensitive

-- method Entry::get_icon_stock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_stock" gtk_entry_get_icon_stock :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CString

{-# DEPRECATED entryGetIconStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Entry.entryGetIconName' instead."] #-}
{- |
Retrieves the stock id used for the icon, or 'Nothing' if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, icon name or gicon).

@since 2.16
-}
entryGetIconStock ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m T.Text
    {- ^ __Returns:__ A stock id, or 'Nothing' if no icon is set or if the icon
         wasn’t set from a stock id -}
entryGetIconStock entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_stock entry' iconPos'
    checkUnexpectedReturnNULL "entryGetIconStock" result
    result' <- cstringToText result
    touchManagedPtr entry
    return result'

data EntryGetIconStockMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m T.Text), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconStockMethodInfo a signature where
    overloadedMethod _ = entryGetIconStock

-- method Entry::get_icon_storage_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageType"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_storage_type" gtk_entry_get_icon_storage_type :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CUInt

{- |
Gets the type of representation being used by the icon
to store image data. If the icon has no image data,
the return value will be 'GI.Gtk.Enums.ImageTypeEmpty'.

@since 2.16
-}
entryGetIconStorageType ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> m Gtk.Enums.ImageType
    {- ^ __Returns:__ image representation being used -}
entryGetIconStorageType entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_storage_type entry' iconPos'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr entry
    return result'

data EntryGetIconStorageTypeMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m Gtk.Enums.ImageType), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconStorageTypeMethodInfo a signature where
    overloadedMethod _ = entryGetIconStorageType

-- method Entry::get_icon_tooltip_markup
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_tooltip_markup" gtk_entry_get_icon_tooltip_markup :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CString

{- |
Gets the contents of the tooltip on the icon at the specified
position in /@entry@/.

@since 2.16
-}
entryGetIconTooltipMarkup ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: the icon position -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the tooltip text, or 'Nothing'. Free the returned
    string with 'GI.GLib.Functions.free' when done. -}
entryGetIconTooltipMarkup entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_tooltip_markup entry' iconPos'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        freeMem result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetIconTooltipMarkupMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe T.Text)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconTooltipMarkupMethodInfo a signature where
    overloadedMethod _ = entryGetIconTooltipMarkup

-- method Entry::get_icon_tooltip_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_icon_tooltip_text" gtk_entry_get_icon_tooltip_text :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    IO CString

{- |
Gets the contents of the tooltip on the icon at the specified
position in /@entry@/.

@since 2.16
-}
entryGetIconTooltipText ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: the icon position -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the tooltip text, or 'Nothing'. Free the returned
    string with 'GI.GLib.Functions.free' when done. -}
entryGetIconTooltipText entry iconPos = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    result <- gtk_entry_get_icon_tooltip_text entry' iconPos'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        freeMem result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetIconTooltipTextMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe T.Text)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconTooltipTextMethodInfo a signature where
    overloadedMethod _ = entryGetIconTooltipText

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

foreign import ccall "gtk_entry_get_inner_border" gtk_entry_get_inner_border :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Gtk.Border.Border)

{-# DEPRECATED entryGetInnerBorder ["(Since version 3.4)","Use the standard border and padding CSS properties (through","  objects like 'GI.Gtk.Objects.StyleContext.StyleContext' and 'GI.Gtk.Objects.CssProvider.CssProvider'); the value returned by","  this function is ignored by 'GI.Gtk.Objects.Entry.Entry'."] #-}
{- |
This function returns the entry’s 'GI.Gtk.Objects.Entry.Entry':@/inner-border/@ property. See
'GI.Gtk.Objects.Entry.entrySetInnerBorder' for more information.

@since 2.10
-}
entryGetInnerBorder ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m (Maybe Gtk.Border.Border)
    {- ^ __Returns:__ the entry’s 'GI.Gtk.Structs.Border.Border', or
  'Nothing' if none was set. -}
entryGetInnerBorder entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_inner_border entry'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newBoxed Gtk.Border.Border) result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetInnerBorderMethodInfo
instance (signature ~ (m (Maybe Gtk.Border.Border)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInnerBorderMethodInfo a signature where
    overloadedMethod _ = entryGetInnerBorder

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

foreign import ccall "gtk_entry_get_input_hints" gtk_entry_get_input_hints :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CUInt

{- |
Gets the value of the 'GI.Gtk.Objects.Entry.Entry':@/input-hints/@ property.

@since 3.6
-}
entryGetInputHints ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m [Gtk.Flags.InputHints]
entryGetInputHints entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_input_hints entry'
    let result' = wordToGFlags result
    touchManagedPtr entry
    return result'

data EntryGetInputHintsMethodInfo
instance (signature ~ (m [Gtk.Flags.InputHints]), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInputHintsMethodInfo a signature where
    overloadedMethod _ = entryGetInputHints

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

foreign import ccall "gtk_entry_get_input_purpose" gtk_entry_get_input_purpose :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CUInt

{- |
Gets the value of the 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@ property.

@since 3.6
-}
entryGetInputPurpose ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Gtk.Enums.InputPurpose
entryGetInputPurpose entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_input_purpose entry'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr entry
    return result'

data EntryGetInputPurposeMethodInfo
instance (signature ~ (m Gtk.Enums.InputPurpose), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInputPurposeMethodInfo a signature where
    overloadedMethod _ = entryGetInputPurpose

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

foreign import ccall "gtk_entry_get_invisible_char" gtk_entry_get_invisible_char :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CInt

{- |
Retrieves the character displayed in place of the real characters
for entries with visibility set to false. See 'GI.Gtk.Objects.Entry.entrySetInvisibleChar'.
-}
entryGetInvisibleChar ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Char
    {- ^ __Returns:__ the current invisible char, or 0, if the entry does not
              show invisible text at all. -}
entryGetInvisibleChar entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_invisible_char entry'
    let result' = (chr . fromIntegral) result
    touchManagedPtr entry
    return result'

data EntryGetInvisibleCharMethodInfo
instance (signature ~ (m Char), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInvisibleCharMethodInfo a signature where
    overloadedMethod _ = entryGetInvisibleChar

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

foreign import ccall "gtk_entry_get_layout" gtk_entry_get_layout :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Pango.Layout.Layout)

{- |
Gets the 'GI.Pango.Objects.Layout.Layout' used to display the entry.
The layout is useful to e.g. convert text positions to
pixel positions, in combination with 'GI.Gtk.Objects.Entry.entryGetLayoutOffsets'.
The returned layout is owned by the entry and must not be
modified or freed by the caller.

Keep in mind that the layout text may contain a preedit string, so
'GI.Gtk.Objects.Entry.entryLayoutIndexToTextIndex' and
'GI.Gtk.Objects.Entry.entryTextIndexToLayoutIndex' are needed to convert byte
indices in the layout to byte indices in the entry contents.
-}
entryGetLayout ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Pango.Layout.Layout
    {- ^ __Returns:__ the 'GI.Pango.Objects.Layout.Layout' for this entry -}
entryGetLayout entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_layout entry'
    checkUnexpectedReturnNULL "entryGetLayout" result
    result' <- (newObject Pango.Layout.Layout) result
    touchManagedPtr entry
    return result'

data EntryGetLayoutMethodInfo
instance (signature ~ (m Pango.Layout.Layout), MonadIO m, IsEntry a) => O.MethodInfo EntryGetLayoutMethodInfo a signature where
    overloadedMethod _ = entryGetLayout

-- method Entry::get_layout_offsets
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store Y offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_layout_offsets" gtk_entry_get_layout_offsets :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Int32 ->                            -- x : TBasicType TInt
    Ptr Int32 ->                            -- y : TBasicType TInt
    IO ()

{- |
Obtains the position of the 'GI.Pango.Objects.Layout.Layout' used to render text
in the entry, in widget coordinates. Useful if you want to line
up the text in an entry with some other text, e.g. when using the
entry to implement editable cells in a sheet widget.

Also useful to convert mouse events into coordinates inside the
'GI.Pango.Objects.Layout.Layout', e.g. to take some action if some part of the entry text
is clicked.

Note that as the user scrolls around in the entry the offsets will
change; you’ll need to connect to the “notify::scroll-offset”
signal to track this. Remember when using the 'GI.Pango.Objects.Layout.Layout'
functions you need to convert to and from pixels using
@/PANGO_PIXELS()/@ or 'GI.Pango.Constants.SCALE'.

Keep in mind that the layout text may contain a preedit string, so
'GI.Gtk.Objects.Entry.entryLayoutIndexToTextIndex' and
'GI.Gtk.Objects.Entry.entryTextIndexToLayoutIndex' are needed to convert byte
indices in the layout to byte indices in the entry contents.
-}
entryGetLayoutOffsets ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m (Int32,Int32)
entryGetLayoutOffsets entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    x <- allocMem :: IO (Ptr Int32)
    y <- allocMem :: IO (Ptr Int32)
    gtk_entry_get_layout_offsets entry' x y
    x' <- peek x
    y' <- peek y
    touchManagedPtr entry
    freeMem x
    freeMem y
    return (x', y')

data EntryGetLayoutOffsetsMethodInfo
instance (signature ~ (m (Int32,Int32)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetLayoutOffsetsMethodInfo a signature where
    overloadedMethod _ = entryGetLayoutOffsets

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

foreign import ccall "gtk_entry_get_max_length" gtk_entry_get_max_length :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO Int32

{- |
Retrieves the maximum allowed length of the text in
/@entry@/. See 'GI.Gtk.Objects.Entry.entrySetMaxLength'.

This is equivalent to:


=== /C code/
>
>GtkEntryBuffer *buffer;
>buffer = gtk_entry_get_buffer (entry);
>gtk_entry_buffer_get_max_length (buffer);
-}
entryGetMaxLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Int32
    {- ^ __Returns:__ the maximum allowed number of characters
              in 'GI.Gtk.Objects.Entry.Entry', or 0 if there is no maximum. -}
entryGetMaxLength entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_max_length entry'
    touchManagedPtr entry
    return result

data EntryGetMaxLengthMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetMaxLengthMethodInfo a signature where
    overloadedMethod _ = entryGetMaxLength

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

foreign import ccall "gtk_entry_get_max_width_chars" gtk_entry_get_max_width_chars :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO Int32

{- |
Retrieves the desired maximum width of /@entry@/, in characters.
See 'GI.Gtk.Objects.Entry.entrySetMaxWidthChars'.

@since 3.12
-}
entryGetMaxWidthChars ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Int32
    {- ^ __Returns:__ the maximum width of the entry, in characters -}
entryGetMaxWidthChars entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_max_width_chars entry'
    touchManagedPtr entry
    return result

data EntryGetMaxWidthCharsMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetMaxWidthCharsMethodInfo a signature where
    overloadedMethod _ = entryGetMaxWidthChars

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

foreign import ccall "gtk_entry_get_overwrite_mode" gtk_entry_get_overwrite_mode :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CInt

{- |
Gets the value set by 'GI.Gtk.Objects.Entry.entrySetOverwriteMode'.

@since 2.14
-}
entryGetOverwriteMode ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Bool
    {- ^ __Returns:__ whether the text is overwritten when typing. -}
entryGetOverwriteMode entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_overwrite_mode entry'
    let result' = (/= 0) result
    touchManagedPtr entry
    return result'

data EntryGetOverwriteModeMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetOverwriteModeMethodInfo a signature where
    overloadedMethod _ = entryGetOverwriteMode

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

foreign import ccall "gtk_entry_get_placeholder_text" gtk_entry_get_placeholder_text :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CString

{- |
Retrieves the text that will be displayed when /@entry@/ is empty and unfocused

@since 3.2
-}
entryGetPlaceholderText ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m T.Text
    {- ^ __Returns:__ a pointer to the placeholder text as a string. This string points to internally allocated
storage in the widget and must not be freed, modified or stored. -}
entryGetPlaceholderText entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_placeholder_text entry'
    checkUnexpectedReturnNULL "entryGetPlaceholderText" result
    result' <- cstringToText result
    touchManagedPtr entry
    return result'

data EntryGetPlaceholderTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEntry a) => O.MethodInfo EntryGetPlaceholderTextMethodInfo a signature where
    overloadedMethod _ = entryGetPlaceholderText

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

foreign import ccall "gtk_entry_get_progress_fraction" gtk_entry_get_progress_fraction :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CDouble

{- |
Returns the current fraction of the task that’s been completed.
See 'GI.Gtk.Objects.Entry.entrySetProgressFraction'.

@since 2.16
-}
entryGetProgressFraction ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Double
    {- ^ __Returns:__ a fraction from 0.0 to 1.0 -}
entryGetProgressFraction entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_progress_fraction entry'
    let result' = realToFrac result
    touchManagedPtr entry
    return result'

data EntryGetProgressFractionMethodInfo
instance (signature ~ (m Double), MonadIO m, IsEntry a) => O.MethodInfo EntryGetProgressFractionMethodInfo a signature where
    overloadedMethod _ = entryGetProgressFraction

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

foreign import ccall "gtk_entry_get_progress_pulse_step" gtk_entry_get_progress_pulse_step :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CDouble

{- |
Retrieves the pulse step set with 'GI.Gtk.Objects.Entry.entrySetProgressPulseStep'.

@since 2.16
-}
entryGetProgressPulseStep ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Double
    {- ^ __Returns:__ a fraction from 0.0 to 1.0 -}
entryGetProgressPulseStep entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_progress_pulse_step entry'
    let result' = realToFrac result
    touchManagedPtr entry
    return result'

data EntryGetProgressPulseStepMethodInfo
instance (signature ~ (m Double), MonadIO m, IsEntry a) => O.MethodInfo EntryGetProgressPulseStepMethodInfo a signature where
    overloadedMethod _ = entryGetProgressPulseStep

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

foreign import ccall "gtk_entry_get_tabs" gtk_entry_get_tabs :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO (Ptr Pango.TabArray.TabArray)

{- |
Gets the tabstops that were set on the entry using 'GI.Gtk.Objects.Entry.entrySetTabs', if
any.

@since 3.10
-}
entryGetTabs ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m (Maybe Pango.TabArray.TabArray)
    {- ^ __Returns:__ the tabstops, or 'Nothing' if none was set. -}
entryGetTabs entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_tabs entry'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newBoxed Pango.TabArray.TabArray) result'
        return result''
    touchManagedPtr entry
    return maybeResult

data EntryGetTabsMethodInfo
instance (signature ~ (m (Maybe Pango.TabArray.TabArray)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTabsMethodInfo a signature where
    overloadedMethod _ = entryGetTabs

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

foreign import ccall "gtk_entry_get_text" gtk_entry_get_text :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CString

{- |
Retrieves the contents of the entry widget.
See also 'GI.Gtk.Interfaces.Editable.editableGetChars'.

This is equivalent to:


=== /C code/
>
>GtkEntryBuffer *buffer;
>buffer = gtk_entry_get_buffer (entry);
>gtk_entry_buffer_get_text (buffer);
-}
entryGetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m T.Text
    {- ^ __Returns:__ a pointer to the contents of the widget as a
     string. This string points to internally allocated
     storage in the widget and must not be freed, modified or
     stored. -}
entryGetText entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_text entry'
    checkUnexpectedReturnNULL "entryGetText" result
    result' <- cstringToText result
    touchManagedPtr entry
    return result'

data EntryGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTextMethodInfo a signature where
    overloadedMethod _ = entryGetText

-- method Entry::get_text_area
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the text area.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_get_text_area" gtk_entry_get_text_area :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Gdk.Rectangle.Rectangle ->          -- text_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
    IO ()

{- |
Gets the area where the entry’s text is drawn. This function is
useful when drawing something to the entry in a draw callback.

If the entry is not realized, /@textArea@/ is filled with zeros.

See also 'GI.Gtk.Objects.Entry.entryGetIconArea'.

@since 3.0
-}
entryGetTextArea ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m (Gdk.Rectangle.Rectangle)
entryGetTextArea entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    textArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
    gtk_entry_get_text_area entry' textArea
    textArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) textArea
    touchManagedPtr entry
    return textArea'

data EntryGetTextAreaMethodInfo
instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTextAreaMethodInfo a signature where
    overloadedMethod _ = entryGetTextArea

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

foreign import ccall "gtk_entry_get_text_length" gtk_entry_get_text_length :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO Word16

{- |
Retrieves the current length of the text in
/@entry@/.

This is equivalent to:


=== /C code/
>
>GtkEntryBuffer *buffer;
>buffer = gtk_entry_get_buffer (entry);
>gtk_entry_buffer_get_length (buffer);

@since 2.14
-}
entryGetTextLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Word16
    {- ^ __Returns:__ the current number of characters
              in 'GI.Gtk.Objects.Entry.Entry', or 0 if there are none. -}
entryGetTextLength entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_text_length entry'
    touchManagedPtr entry
    return result

data EntryGetTextLengthMethodInfo
instance (signature ~ (m Word16), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTextLengthMethodInfo a signature where
    overloadedMethod _ = entryGetTextLength

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

foreign import ccall "gtk_entry_get_visibility" gtk_entry_get_visibility :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO CInt

{- |
Retrieves whether the text in /@entry@/ is visible. See
'GI.Gtk.Objects.Entry.entrySetVisibility'.
-}
entryGetVisibility ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the text is currently visible -}
entryGetVisibility entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_visibility entry'
    let result' = (/= 0) result
    touchManagedPtr entry
    return result'

data EntryGetVisibilityMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetVisibilityMethodInfo a signature where
    overloadedMethod _ = entryGetVisibility

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

foreign import ccall "gtk_entry_get_width_chars" gtk_entry_get_width_chars :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO Int32

{- |
Gets the value set by 'GI.Gtk.Objects.Entry.entrySetWidthChars'.
-}
entryGetWidthChars ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m Int32
    {- ^ __Returns:__ number of chars to request space for, or negative if unset -}
entryGetWidthChars entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_get_width_chars entry'
    touchManagedPtr entry
    return result

data EntryGetWidthCharsMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetWidthCharsMethodInfo a signature where
    overloadedMethod _ = entryGetWidthChars

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

foreign import ccall "gtk_entry_grab_focus_without_selecting" gtk_entry_grab_focus_without_selecting :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO ()

{- |
Causes /@entry@/ to have keyboard focus.

It behaves like 'GI.Gtk.Objects.Widget.widgetGrabFocus',
except that it doesn\'t select the contents of the entry.
You only want to call this on some special entries
which the user usually doesn\'t want to replace all text in,
such as search-as-you-type entries.

@since 3.16
-}
entryGrabFocusWithoutSelecting ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m ()
entryGrabFocusWithoutSelecting entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_grab_focus_without_selecting entry'
    touchManagedPtr entry
    return ()

data EntryGrabFocusWithoutSelectingMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryGrabFocusWithoutSelectingMethodInfo a signature where
    overloadedMethod _ = entryGrabFocusWithoutSelecting

-- method Entry::im_context_filter_keypress
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_im_context_filter_keypress" gtk_entry_im_context_filter_keypress :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
    IO CInt

{- |
Allow the 'GI.Gtk.Objects.Entry.Entry' input method to internally handle key press
and release events. If this function returns 'True', then no further
processing should be done for this key event. See
'GI.Gtk.Objects.IMContext.iMContextFilterKeypress'.

Note that you are expected to call this function from your handler
when overriding key event handling. This is needed in the case when
you need to insert your own key handling between the input method
and the default key event handling of the 'GI.Gtk.Objects.Entry.Entry'.
See 'GI.Gtk.Objects.TextView.textViewResetImContext' for an example of use.

@since 2.22
-}
entryImContextFilterKeypress ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gdk.EventKey.EventKey
    {- ^ /@event@/: the key event -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the input method handled the key event. -}
entryImContextFilterKeypress entry event = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    event' <- unsafeManagedPtrGetPtr event
    result <- gtk_entry_im_context_filter_keypress entry' event'
    let result' = (/= 0) result
    touchManagedPtr entry
    touchManagedPtr event
    return result'

data EntryImContextFilterKeypressMethodInfo
instance (signature ~ (Gdk.EventKey.EventKey -> m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryImContextFilterKeypressMethodInfo a signature where
    overloadedMethod _ = entryImContextFilterKeypress

-- method Entry::layout_index_to_text_index
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte index into the entry layout text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_layout_index_to_text_index" gtk_entry_layout_index_to_text_index :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Int32 ->                                -- layout_index : TBasicType TInt
    IO Int32

{- |
Converts from a position in the entry’s 'GI.Pango.Objects.Layout.Layout' (returned by
'GI.Gtk.Objects.Entry.entryGetLayout') to a position in the entry contents
(returned by 'GI.Gtk.Objects.Entry.entryGetText').
-}
entryLayoutIndexToTextIndex ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Int32
    {- ^ /@layoutIndex@/: byte index into the entry layout text -}
    -> m Int32
    {- ^ __Returns:__ byte index into the entry contents -}
entryLayoutIndexToTextIndex entry layoutIndex = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_layout_index_to_text_index entry' layoutIndex
    touchManagedPtr entry
    return result

data EntryLayoutIndexToTextIndexMethodInfo
instance (signature ~ (Int32 -> m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryLayoutIndexToTextIndexMethodInfo a signature where
    overloadedMethod _ = entryLayoutIndexToTextIndex

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

foreign import ccall "gtk_entry_progress_pulse" gtk_entry_progress_pulse :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO ()

{- |
Indicates that some progress is made, but you don’t know how much.
Causes the entry’s progress indicator to enter “activity mode,”
where a block bounces back and forth. Each call to
'GI.Gtk.Objects.Entry.entryProgressPulse' causes the block to move by a little bit
(the amount of movement per pulse is determined by
'GI.Gtk.Objects.Entry.entrySetProgressPulseStep').

@since 2.16
-}
entryProgressPulse ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m ()
entryProgressPulse entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_progress_pulse entry'
    touchManagedPtr entry
    return ()

data EntryProgressPulseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryProgressPulseMethodInfo a signature where
    overloadedMethod _ = entryProgressPulse

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

foreign import ccall "gtk_entry_reset_im_context" gtk_entry_reset_im_context :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO ()

{- |
Reset the input method context of the entry if needed.

This can be necessary in the case where modifying the buffer
would confuse on-going input method behavior.

@since 2.22
-}
entryResetImContext ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m ()
entryResetImContext entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_reset_im_context entry'
    touchManagedPtr entry
    return ()

data EntryResetImContextMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryResetImContextMethodInfo a signature where
    overloadedMethod _ = entryResetImContext

-- method Entry::set_activates_default
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to activate window\8217s default widget on Enter keypress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_activates_default" gtk_entry_set_activates_default :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CInt ->                                 -- setting : TBasicType TBoolean
    IO ()

{- |
If /@setting@/ is 'True', pressing Enter in the /@entry@/ will activate the default
widget for the window containing the entry. This usually means that
the dialog box containing the entry will be closed, since the default
widget is usually one of the dialog buttons.

(For experts: if /@setting@/ is 'True', the entry calls
'GI.Gtk.Objects.Window.windowActivateDefault' on the window containing the entry, in
the default handler for the 'GI.Gtk.Objects.Entry.Entry'::@/activate/@ signal.)
-}
entrySetActivatesDefault ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Bool
    {- ^ /@setting@/: 'True' to activate window’s default widget on Enter keypress -}
    -> m ()
entrySetActivatesDefault entry setting = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let setting' = (fromIntegral . fromEnum) setting
    gtk_entry_set_activates_default entry' setting'
    touchManagedPtr entry
    return ()

data EntrySetActivatesDefaultMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetActivatesDefaultMethodInfo a signature where
    overloadedMethod _ = entrySetActivatesDefault

-- method Entry::set_alignment
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The horizontal alignment, from 0 (left) to 1 (right).\n         Reversed for RTL layouts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_alignment" gtk_entry_set_alignment :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CFloat ->                               -- xalign : TBasicType TFloat
    IO ()

{- |
Sets the alignment for the contents of the entry. This controls
the horizontal positioning of the contents when the displayed
text is shorter than the width of the entry.

@since 2.4
-}
entrySetAlignment ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Float
    {- ^ /@xalign@/: The horizontal alignment, from 0 (left) to 1 (right).
         Reversed for RTL layouts -}
    -> m ()
entrySetAlignment entry xalign = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let xalign' = realToFrac xalign
    gtk_entry_set_alignment entry' xalign'
    touchManagedPtr entry
    return ()

data EntrySetAlignmentMethodInfo
instance (signature ~ (Float -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetAlignmentMethodInfo a signature where
    overloadedMethod _ = entrySetAlignment

-- method Entry::set_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TInterface (Name {namespace = "Pango", name = "AttrList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoAttrList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_attributes" gtk_entry_set_attributes :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Pango.AttrList.AttrList ->          -- attrs : TInterface (Name {namespace = "Pango", name = "AttrList"})
    IO ()

{- |
Sets a 'GI.Pango.Structs.AttrList.AttrList'; the attributes in the list are applied to the
entry text.

@since 3.6
-}
entrySetAttributes ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Pango.AttrList.AttrList
    {- ^ /@attrs@/: a 'GI.Pango.Structs.AttrList.AttrList' -}
    -> m ()
entrySetAttributes entry attrs = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    attrs' <- unsafeManagedPtrGetPtr attrs
    gtk_entry_set_attributes entry' attrs'
    touchManagedPtr entry
    touchManagedPtr attrs
    return ()

data EntrySetAttributesMethodInfo
instance (signature ~ (Pango.AttrList.AttrList -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetAttributesMethodInfo a signature where
    overloadedMethod _ = entrySetAttributes

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

foreign import ccall "gtk_entry_set_buffer" gtk_entry_set_buffer :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Gtk.EntryBuffer.EntryBuffer ->      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
    IO ()

{- |
Set the 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object which holds the text for
this widget.

@since 2.18
-}
entrySetBuffer ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gtk.EntryBuffer.IsEntryBuffer b) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> b
    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
    -> m ()
entrySetBuffer entry buffer = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    buffer' <- unsafeManagedPtrCastPtr buffer
    gtk_entry_set_buffer entry' buffer'
    touchManagedPtr entry
    touchManagedPtr buffer
    return ()

data EntrySetBufferMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsEntry a, Gtk.EntryBuffer.IsEntryBuffer b) => O.MethodInfo EntrySetBufferMethodInfo a signature where
    overloadedMethod _ = entrySetBuffer

-- method Entry::set_completion
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkEntryCompletion or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_completion" gtk_entry_set_completion :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Gtk.EntryCompletion.EntryCompletion -> -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
    IO ()

{- |
Sets /@completion@/ to be the auxiliary completion object to use with /@entry@/.
All further configuration of the completion mechanism is done on
/@completion@/ using the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' API. Completion is disabled if
/@completion@/ is set to 'Nothing'.

@since 2.4
-}
entrySetCompletion ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gtk.EntryCompletion.IsEntryCompletion b) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Maybe (b)
    {- ^ /@completion@/: The 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' or 'Nothing' -}
    -> m ()
entrySetCompletion entry completion = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    maybeCompletion <- case completion of
        Nothing -> return nullPtr
        Just jCompletion -> do
            jCompletion' <- unsafeManagedPtrCastPtr jCompletion
            return jCompletion'
    gtk_entry_set_completion entry' maybeCompletion
    touchManagedPtr entry
    whenJust completion touchManagedPtr
    return ()

data EntrySetCompletionMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsEntry a, Gtk.EntryCompletion.IsEntryCompletion b) => O.MethodInfo EntrySetCompletionMethodInfo a signature where
    overloadedMethod _ = entrySetCompletion

-- method Entry::set_cursor_hadjustment
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an adjustment which should be adjusted when the cursor\n             is moved, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_cursor_hadjustment" gtk_entry_set_cursor_hadjustment :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
    IO ()

{- |
Hooks up an adjustment to the cursor position in an entry, so that when
the cursor is moved, the adjustment is scrolled to show that position.
See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetHadjustment' for a typical way of obtaining
the adjustment.

The adjustment has to be in pixel units and in the same coordinate system
as the entry.

@since 2.12
-}
entrySetCursorHadjustment ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gtk.Adjustment.IsAdjustment b) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Maybe (b)
    {- ^ /@adjustment@/: an adjustment which should be adjusted when the cursor
             is moved, or 'Nothing' -}
    -> m ()
entrySetCursorHadjustment entry adjustment = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    maybeAdjustment <- case adjustment of
        Nothing -> return nullPtr
        Just jAdjustment -> do
            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
            return jAdjustment'
    gtk_entry_set_cursor_hadjustment entry' maybeAdjustment
    touchManagedPtr entry
    whenJust adjustment touchManagedPtr
    return ()

data EntrySetCursorHadjustmentMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsEntry a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo EntrySetCursorHadjustmentMethodInfo a signature where
    overloadedMethod _ = entrySetCursorHadjustment

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

foreign import ccall "gtk_entry_set_has_frame" gtk_entry_set_has_frame :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CInt ->                                 -- setting : TBasicType TBoolean
    IO ()

{- |
Sets whether the entry has a beveled frame around it.
-}
entrySetHasFrame ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Bool
    {- ^ /@setting@/: new value -}
    -> m ()
entrySetHasFrame entry setting = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let setting' = (fromIntegral . fromEnum) setting
    gtk_entry_set_has_frame entry' setting'
    touchManagedPtr entry
    return ()

data EntrySetHasFrameMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetHasFrameMethodInfo a signature where
    overloadedMethod _ = entrySetHasFrame

-- method Entry::set_icon_activatable
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activatable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the icon should be activatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_activatable" gtk_entry_set_icon_activatable :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    CInt ->                                 -- activatable : TBasicType TBoolean
    IO ()

{- |
Sets whether the icon is activatable.

@since 2.16
-}
entrySetIconActivatable ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> Bool
    {- ^ /@activatable@/: 'True' if the icon should be activatable -}
    -> m ()
entrySetIconActivatable entry iconPos activatable = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    let activatable' = (fromIntegral . fromEnum) activatable
    gtk_entry_set_icon_activatable entry' iconPos' activatable'
    touchManagedPtr entry
    return ()

data EntrySetIconActivatableMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconActivatableMethodInfo a signature where
    overloadedMethod _ = entrySetIconActivatable

-- method Entry::set_icon_drag_source
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the targets (data formats) in which the data can be provided", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bitmask of the allowed drag actions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_drag_source" gtk_entry_set_icon_drag_source :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    Ptr Gtk.TargetList.TargetList ->        -- target_list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
    IO ()

{- |
Sets up the icon at the given position so that GTK+ will start a drag
operation when the user clicks and drags the icon.

To handle the drag operation, you need to connect to the usual
'GI.Gtk.Objects.Widget.Widget'::@/drag-data-get/@ (or possibly 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-delete/@)
signal, and use 'GI.Gtk.Objects.Entry.entryGetCurrentIconDragSource' in
your signal handler to find out if the drag was started from
an icon.

By default, GTK+ uses the icon as the drag icon. You can use the
'GI.Gtk.Objects.Widget.Widget'::@/drag-begin/@ signal to set a different icon. Note that you
have to use @/g_signal_connect_after()/@ to ensure that your signal handler
gets executed after the default handler.

@since 2.16
-}
entrySetIconDragSource ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: icon position -}
    -> Gtk.TargetList.TargetList
    {- ^ /@targetList@/: the targets (data formats) in which the data can be provided -}
    -> [Gdk.Flags.DragAction]
    {- ^ /@actions@/: a bitmask of the allowed drag actions -}
    -> m ()
entrySetIconDragSource entry iconPos targetList actions = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    targetList' <- unsafeManagedPtrGetPtr targetList
    let actions' = gflagsToWord actions
    gtk_entry_set_icon_drag_source entry' iconPos' targetList' actions'
    touchManagedPtr entry
    touchManagedPtr targetList
    return ()

data EntrySetIconDragSourceMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Gtk.TargetList.TargetList -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconDragSourceMethodInfo a signature where
    overloadedMethod _ = entrySetIconDragSource

-- method Entry::set_icon_from_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position at which to set the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The icon to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_gicon" gtk_entry_set_icon_from_gicon :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
    IO ()

{- |
Sets the icon shown in the entry at the specified position
from the current icon theme.
If the icon isn’t known, a “broken image” icon will be displayed
instead.

If /@icon@/ is 'Nothing', no icon will be shown in the specified position.

@since 2.16
-}
entrySetIconFromGicon ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gio.Icon.IsIcon b) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: The position at which to set the icon -}
    -> Maybe (b)
    {- ^ /@icon@/: The icon to set, or 'Nothing' -}
    -> m ()
entrySetIconFromGicon entry iconPos icon = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    maybeIcon <- case icon of
        Nothing -> return nullPtr
        Just jIcon -> do
            jIcon' <- unsafeManagedPtrCastPtr jIcon
            return jIcon'
    gtk_entry_set_icon_from_gicon entry' iconPos' maybeIcon
    touchManagedPtr entry
    whenJust icon touchManagedPtr
    return ()

data EntrySetIconFromGiconMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (b) -> m ()), MonadIO m, IsEntry a, Gio.Icon.IsIcon b) => O.MethodInfo EntrySetIconFromGiconMethodInfo a signature where
    overloadedMethod _ = entrySetIconFromGicon

-- method Entry::set_icon_from_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position at which to set the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_icon_name" gtk_entry_set_icon_from_icon_name :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    CString ->                              -- icon_name : TBasicType TUTF8
    IO ()

{- |
Sets the icon shown in the entry at the specified position
from the current icon theme.

If the icon name isn’t known, a “broken image” icon will be displayed
instead.

If /@iconName@/ is 'Nothing', no icon will be shown in the specified position.

@since 2.16
-}
entrySetIconFromIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: The position at which to set the icon -}
    -> Maybe (T.Text)
    {- ^ /@iconName@/: An icon name, or 'Nothing' -}
    -> m ()
entrySetIconFromIconName entry iconPos iconName = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    maybeIconName <- case iconName of
        Nothing -> return nullPtr
        Just jIconName -> do
            jIconName' <- textToCString jIconName
            return jIconName'
    gtk_entry_set_icon_from_icon_name entry' iconPos' maybeIconName
    touchManagedPtr entry
    freeMem maybeIconName
    return ()

data EntrySetIconFromIconNameMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconFromIconNameMethodInfo a signature where
    overloadedMethod _ = entrySetIconFromIconName

-- method Entry::set_icon_from_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GdkPixbuf, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_pixbuf" gtk_entry_set_icon_from_pixbuf :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
    IO ()

{- |
Sets the icon shown in the specified position using a pixbuf.

If /@pixbuf@/ is 'Nothing', no icon will be shown in the specified position.

@since 2.16
-}
entrySetIconFromPixbuf ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> Maybe (b)
    {- ^ /@pixbuf@/: A 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' -}
    -> m ()
entrySetIconFromPixbuf entry iconPos pixbuf = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    maybePixbuf <- case pixbuf of
        Nothing -> return nullPtr
        Just jPixbuf -> do
            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
            return jPixbuf'
    gtk_entry_set_icon_from_pixbuf entry' iconPos' maybePixbuf
    touchManagedPtr entry
    whenJust pixbuf touchManagedPtr
    return ()

data EntrySetIconFromPixbufMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (b) -> m ()), MonadIO m, IsEntry a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo EntrySetIconFromPixbufMethodInfo a signature where
    overloadedMethod _ = entrySetIconFromPixbuf

-- method Entry::set_icon_from_stock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The name of the stock item, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_from_stock" gtk_entry_set_icon_from_stock :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    CString ->                              -- stock_id : TBasicType TUTF8
    IO ()

{-# DEPRECATED entrySetIconFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Entry.entrySetIconFromIconName' instead."] #-}
{- |
Sets the icon shown in the entry at the specified position from
a stock image.

If /@stockId@/ is 'Nothing', no icon will be shown in the specified position.

@since 2.16
-}
entrySetIconFromStock ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> Maybe (T.Text)
    {- ^ /@stockId@/: The name of the stock item, or 'Nothing' -}
    -> m ()
entrySetIconFromStock entry iconPos stockId = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    maybeStockId <- case stockId of
        Nothing -> return nullPtr
        Just jStockId -> do
            jStockId' <- textToCString jStockId
            return jStockId'
    gtk_entry_set_icon_from_stock entry' iconPos' maybeStockId
    touchManagedPtr entry
    freeMem maybeStockId
    return ()

data EntrySetIconFromStockMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconFromStockMethodInfo a signature where
    overloadedMethod _ = entrySetIconFromStock

-- method Entry::set_icon_sensitive
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specifies whether the icon should appear\n            sensitive or insensitive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_sensitive" gtk_entry_set_icon_sensitive :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    CInt ->                                 -- sensitive : TBasicType TBoolean
    IO ()

{- |
Sets the sensitivity for the specified icon.

@since 2.16
-}
entrySetIconSensitive ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: Icon position -}
    -> Bool
    {- ^ /@sensitive@/: Specifies whether the icon should appear
            sensitive or insensitive -}
    -> m ()
entrySetIconSensitive entry iconPos sensitive = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    let sensitive' = (fromIntegral . fromEnum) sensitive
    gtk_entry_set_icon_sensitive entry' iconPos' sensitive'
    touchManagedPtr entry
    return ()

data EntrySetIconSensitiveMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconSensitiveMethodInfo a signature where
    overloadedMethod _ = entrySetIconSensitive

-- method Entry::set_icon_tooltip_markup
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for the icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_tooltip_markup" gtk_entry_set_icon_tooltip_markup :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    CString ->                              -- tooltip : TBasicType TUTF8
    IO ()

{- |
Sets /@tooltip@/ as the contents of the tooltip for the icon at
the specified position. /@tooltip@/ is assumed to be marked up with
the [Pango text markup language][PangoMarkupFormat].

Use 'Nothing' for /@tooltip@/ to remove an existing tooltip.

See also 'GI.Gtk.Objects.Widget.widgetSetTooltipMarkup' and
'GI.Gtk.Objects.Entry.entrySetIconTooltipText'.

@since 2.16
-}
entrySetIconTooltipMarkup ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: the icon position -}
    -> Maybe (T.Text)
    {- ^ /@tooltip@/: the contents of the tooltip for the icon, or 'Nothing' -}
    -> m ()
entrySetIconTooltipMarkup entry iconPos tooltip = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    maybeTooltip <- case tooltip of
        Nothing -> return nullPtr
        Just jTooltip -> do
            jTooltip' <- textToCString jTooltip
            return jTooltip'
    gtk_entry_set_icon_tooltip_markup entry' iconPos' maybeTooltip
    touchManagedPtr entry
    freeMem maybeTooltip
    return ()

data EntrySetIconTooltipMarkupMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconTooltipMarkupMethodInfo a signature where
    overloadedMethod _ = entrySetIconTooltipMarkup

-- method Entry::set_icon_tooltip_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for the icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_icon_tooltip_text" gtk_entry_set_icon_tooltip_text :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
    CString ->                              -- tooltip : TBasicType TUTF8
    IO ()

{- |
Sets /@tooltip@/ as the contents of the tooltip for the icon
at the specified position.

Use 'Nothing' for /@tooltip@/ to remove an existing tooltip.

See also 'GI.Gtk.Objects.Widget.widgetSetTooltipText' and
'GI.Gtk.Objects.Entry.entrySetIconTooltipMarkup'.

@since 2.16
-}
entrySetIconTooltipText ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.EntryIconPosition
    {- ^ /@iconPos@/: the icon position -}
    -> Maybe (T.Text)
    {- ^ /@tooltip@/: the contents of the tooltip for the icon, or 'Nothing' -}
    -> m ()
entrySetIconTooltipText entry iconPos tooltip = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let iconPos' = (fromIntegral . fromEnum) iconPos
    maybeTooltip <- case tooltip of
        Nothing -> return nullPtr
        Just jTooltip -> do
            jTooltip' <- textToCString jTooltip
            return jTooltip'
    gtk_entry_set_icon_tooltip_text entry' iconPos' maybeTooltip
    touchManagedPtr entry
    freeMem maybeTooltip
    return ()

data EntrySetIconTooltipTextMethodInfo
instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconTooltipTextMethodInfo a signature where
    overloadedMethod _ = entrySetIconTooltipText

-- method Entry::set_inner_border
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "border", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkBorder, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_inner_border" gtk_entry_set_inner_border :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Gtk.Border.Border ->                -- border : TInterface (Name {namespace = "Gtk", name = "Border"})
    IO ()

{-# DEPRECATED entrySetInnerBorder ["(Since version 3.4)","Use the standard border and padding CSS properties (through","  objects like 'GI.Gtk.Objects.StyleContext.StyleContext' and 'GI.Gtk.Objects.CssProvider.CssProvider'); the value set with","  this function is ignored by 'GI.Gtk.Objects.Entry.Entry'."] #-}
{- |
Sets @/entry/@’s inner-border property to /@border@/, or clears it if 'Nothing'
is passed. The inner-border is the area around the entry’s text, but
inside its frame.

If set, this property overrides the inner-border style property.
Overriding the style-provided border is useful when you want to do
in-place editing of some text in a canvas or list widget, where
pixel-exact positioning of the entry is important.

@since 2.10
-}
entrySetInnerBorder ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Maybe (Gtk.Border.Border)
    {- ^ /@border@/: a 'GI.Gtk.Structs.Border.Border', or 'Nothing' -}
    -> m ()
entrySetInnerBorder entry border = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    maybeBorder <- case border of
        Nothing -> return nullPtr
        Just jBorder -> do
            jBorder' <- unsafeManagedPtrGetPtr jBorder
            return jBorder'
    gtk_entry_set_inner_border entry' maybeBorder
    touchManagedPtr entry
    whenJust border touchManagedPtr
    return ()

data EntrySetInnerBorderMethodInfo
instance (signature ~ (Maybe (Gtk.Border.Border) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInnerBorderMethodInfo a signature where
    overloadedMethod _ = entrySetInnerBorder

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

foreign import ccall "gtk_entry_set_input_hints" gtk_entry_set_input_hints :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- hints : TInterface (Name {namespace = "Gtk", name = "InputHints"})
    IO ()

{- |
Sets the 'GI.Gtk.Objects.Entry.Entry':@/input-hints/@ property, which
allows input methods to fine-tune their behaviour.

@since 3.6
-}
entrySetInputHints ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> [Gtk.Flags.InputHints]
    {- ^ /@hints@/: the hints -}
    -> m ()
entrySetInputHints entry hints = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let hints' = gflagsToWord hints
    gtk_entry_set_input_hints entry' hints'
    touchManagedPtr entry
    return ()

data EntrySetInputHintsMethodInfo
instance (signature ~ ([Gtk.Flags.InputHints] -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInputHintsMethodInfo a signature where
    overloadedMethod _ = entrySetInputHints

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

foreign import ccall "gtk_entry_set_input_purpose" gtk_entry_set_input_purpose :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CUInt ->                                -- purpose : TInterface (Name {namespace = "Gtk", name = "InputPurpose"})
    IO ()

{- |
Sets the 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@ property which
can be used by on-screen keyboards and other input
methods to adjust their behaviour.

@since 3.6
-}
entrySetInputPurpose ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Gtk.Enums.InputPurpose
    {- ^ /@purpose@/: the purpose -}
    -> m ()
entrySetInputPurpose entry purpose = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let purpose' = (fromIntegral . fromEnum) purpose
    gtk_entry_set_input_purpose entry' purpose'
    touchManagedPtr entry
    return ()

data EntrySetInputPurposeMethodInfo
instance (signature ~ (Gtk.Enums.InputPurpose -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInputPurposeMethodInfo a signature where
    overloadedMethod _ = entrySetInputPurpose

-- method Entry::set_invisible_char
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_invisible_char" gtk_entry_set_invisible_char :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CInt ->                                 -- ch : TBasicType TUniChar
    IO ()

{- |
Sets the character to use in place of the actual text when
'GI.Gtk.Objects.Entry.entrySetVisibility' has been called to set text visibility
to 'False'. i.e. this is the character used in “password mode” to
show the user how many characters have been typed. By default, GTK+
picks the best invisible char available in the current font. If you
set the invisible char to 0, then the user will get no feedback
at all; there will be no text on the screen as they type.
-}
entrySetInvisibleChar ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Char
    {- ^ /@ch@/: a Unicode character -}
    -> m ()
entrySetInvisibleChar entry ch = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let ch' = (fromIntegral . ord) ch
    gtk_entry_set_invisible_char entry' ch'
    touchManagedPtr entry
    return ()

data EntrySetInvisibleCharMethodInfo
instance (signature ~ (Char -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInvisibleCharMethodInfo a signature where
    overloadedMethod _ = entrySetInvisibleChar

-- method Entry::set_max_length
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of the entry, or 0 for no maximum.\n  (other than the maximum length of entries.) The value passed in will\n  be clamped to the range 0-65536.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_max_length" gtk_entry_set_max_length :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Int32 ->                                -- max : TBasicType TInt
    IO ()

{- |
Sets the maximum allowed length of the contents of the widget. If
the current contents are longer than the given length, then they
will be truncated to fit.

This is equivalent to:


=== /C code/
>
>GtkEntryBuffer *buffer;
>buffer = gtk_entry_get_buffer (entry);
>gtk_entry_buffer_set_max_length (buffer, max);
-}
entrySetMaxLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Int32
    {- ^ /@max@/: the maximum length of the entry, or 0 for no maximum.
  (other than the maximum length of entries.) The value passed in will
  be clamped to the range 0-65536. -}
    -> m ()
entrySetMaxLength entry max = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_set_max_length entry' max
    touchManagedPtr entry
    return ()

data EntrySetMaxLengthMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetMaxLengthMethodInfo a signature where
    overloadedMethod _ = entrySetMaxLength

-- method Entry::set_max_width_chars
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new desired maximum width, in characters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_max_width_chars" gtk_entry_set_max_width_chars :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Int32 ->                                -- n_chars : TBasicType TInt
    IO ()

{- |
Sets the desired maximum width in characters of /@entry@/.

@since 3.12
-}
entrySetMaxWidthChars ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Int32
    {- ^ /@nChars@/: the new desired maximum width, in characters -}
    -> m ()
entrySetMaxWidthChars entry nChars = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_set_max_width_chars entry' nChars
    touchManagedPtr entry
    return ()

data EntrySetMaxWidthCharsMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetMaxWidthCharsMethodInfo a signature where
    overloadedMethod _ = entrySetMaxWidthChars

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

foreign import ccall "gtk_entry_set_overwrite_mode" gtk_entry_set_overwrite_mode :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CInt ->                                 -- overwrite : TBasicType TBoolean
    IO ()

{- |
Sets whether the text is overwritten when typing in the 'GI.Gtk.Objects.Entry.Entry'.

@since 2.14
-}
entrySetOverwriteMode ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Bool
    {- ^ /@overwrite@/: new value -}
    -> m ()
entrySetOverwriteMode entry overwrite = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let overwrite' = (fromIntegral . fromEnum) overwrite
    gtk_entry_set_overwrite_mode entry' overwrite'
    touchManagedPtr entry
    return ()

data EntrySetOverwriteModeMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetOverwriteModeMethodInfo a signature where
    overloadedMethod _ = entrySetOverwriteMode

-- method Entry::set_placeholder_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string to be displayed when @entry is empty and unfocused, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_placeholder_text" gtk_entry_set_placeholder_text :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CString ->                              -- text : TBasicType TUTF8
    IO ()

{- |
Sets text to be displayed in /@entry@/ when it is empty and unfocused.
This can be used to give a visual hint of the expected contents of
the 'GI.Gtk.Objects.Entry.Entry'.

Note that since the placeholder text gets removed when the entry
received focus, using this feature is a bit problematic if the entry
is given the initial focus in a window. Sometimes this can be
worked around by delaying the initial focus setting until the
first key event arrives.

@since 3.2
-}
entrySetPlaceholderText ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Maybe (T.Text)
    {- ^ /@text@/: a string to be displayed when /@entry@/ is empty and unfocused, or 'Nothing' -}
    -> m ()
entrySetPlaceholderText entry text = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    maybeText <- case text of
        Nothing -> return nullPtr
        Just jText -> do
            jText' <- textToCString jText
            return jText'
    gtk_entry_set_placeholder_text entry' maybeText
    touchManagedPtr entry
    freeMem maybeText
    return ()

data EntrySetPlaceholderTextMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetPlaceholderTextMethodInfo a signature where
    overloadedMethod _ = entrySetPlaceholderText

-- method Entry::set_progress_fraction
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fraction of the task that\8217s been completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_progress_fraction" gtk_entry_set_progress_fraction :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CDouble ->                              -- fraction : TBasicType TDouble
    IO ()

{- |
Causes the entry’s progress indicator to “fill in” the given
fraction of the bar. The fraction should be between 0.0 and 1.0,
inclusive.

@since 2.16
-}
entrySetProgressFraction ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Double
    {- ^ /@fraction@/: fraction of the task that’s been completed -}
    -> m ()
entrySetProgressFraction entry fraction = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let fraction' = realToFrac fraction
    gtk_entry_set_progress_fraction entry' fraction'
    touchManagedPtr entry
    return ()

data EntrySetProgressFractionMethodInfo
instance (signature ~ (Double -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetProgressFractionMethodInfo a signature where
    overloadedMethod _ = entrySetProgressFraction

-- method Entry::set_progress_pulse_step
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fraction between 0.0 and 1.0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_progress_pulse_step" gtk_entry_set_progress_pulse_step :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CDouble ->                              -- fraction : TBasicType TDouble
    IO ()

{- |
Sets the fraction of total entry width to move the progress
bouncing block for each call to 'GI.Gtk.Objects.Entry.entryProgressPulse'.

@since 2.16
-}
entrySetProgressPulseStep ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Double
    {- ^ /@fraction@/: fraction between 0.0 and 1.0 -}
    -> m ()
entrySetProgressPulseStep entry fraction = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let fraction' = realToFrac fraction
    gtk_entry_set_progress_pulse_step entry' fraction'
    touchManagedPtr entry
    return ()

data EntrySetProgressPulseStepMethodInfo
instance (signature ~ (Double -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetProgressPulseStepMethodInfo a signature where
    overloadedMethod _ = entrySetProgressPulseStep

-- method Entry::set_tabs
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tabs", argType = TInterface (Name {namespace = "Pango", name = "TabArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoTabArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_tabs" gtk_entry_set_tabs :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Ptr Pango.TabArray.TabArray ->          -- tabs : TInterface (Name {namespace = "Pango", name = "TabArray"})
    IO ()

{- |
Sets a 'GI.Pango.Structs.TabArray.TabArray'; the tabstops in the array are applied to the entry
text.

@since 3.10
-}
entrySetTabs ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Pango.TabArray.TabArray
    {- ^ /@tabs@/: a 'GI.Pango.Structs.TabArray.TabArray' -}
    -> m ()
entrySetTabs entry tabs = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    tabs' <- unsafeManagedPtrGetPtr tabs
    gtk_entry_set_tabs entry' tabs'
    touchManagedPtr entry
    touchManagedPtr tabs
    return ()

data EntrySetTabsMethodInfo
instance (signature ~ (Pango.TabArray.TabArray -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetTabsMethodInfo a signature where
    overloadedMethod _ = entrySetTabs

-- method Entry::set_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_text" gtk_entry_set_text :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CString ->                              -- text : TBasicType TUTF8
    IO ()

{- |
Sets the text in the widget to the given
value, replacing the current contents.

See 'GI.Gtk.Objects.EntryBuffer.entryBufferSetText'.
-}
entrySetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> T.Text
    {- ^ /@text@/: the new text -}
    -> m ()
entrySetText entry text = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    text' <- textToCString text
    gtk_entry_set_text entry' text'
    touchManagedPtr entry
    freeMem text'
    return ()

data EntrySetTextMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetTextMethodInfo a signature where
    overloadedMethod _ = entrySetText

-- method Entry::set_visibility
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the contents of the entry are displayed\n          as plaintext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_visibility" gtk_entry_set_visibility :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    CInt ->                                 -- visible : TBasicType TBoolean
    IO ()

{- |
Sets whether the contents of the entry are visible or not.
When visibility is set to 'False', characters are displayed
as the invisible char, and will also appear that way when
the text in the entry widget is copied elsewhere.

By default, GTK+ picks the best invisible character available
in the current font, but it can be changed with
'GI.Gtk.Objects.Entry.entrySetInvisibleChar'.

Note that you probably want to set 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@
to 'GI.Gtk.Enums.InputPurposePassword' or 'GI.Gtk.Enums.InputPurposePin' to
inform input methods about the purpose of this entry,
in addition to setting visibility to 'False'.
-}
entrySetVisibility ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Bool
    {- ^ /@visible@/: 'True' if the contents of the entry are displayed
          as plaintext -}
    -> m ()
entrySetVisibility entry visible = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    let visible' = (fromIntegral . fromEnum) visible
    gtk_entry_set_visibility entry' visible'
    touchManagedPtr entry
    return ()

data EntrySetVisibilityMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetVisibilityMethodInfo a signature where
    overloadedMethod _ = entrySetVisibility

-- method Entry::set_width_chars
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width in chars", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_set_width_chars" gtk_entry_set_width_chars :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Int32 ->                                -- n_chars : TBasicType TInt
    IO ()

{- |
Changes the size request of the entry to be about the right size
for /@nChars@/ characters. Note that it changes the size
request, the size can still be affected by
how you pack the widget into containers. If /@nChars@/ is -1, the
size reverts to the default entry size.
-}
entrySetWidthChars ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Int32
    {- ^ /@nChars@/: width in chars -}
    -> m ()
entrySetWidthChars entry nChars = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_set_width_chars entry' nChars
    touchManagedPtr entry
    return ()

data EntrySetWidthCharsMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetWidthCharsMethodInfo a signature where
    overloadedMethod _ = entrySetWidthChars

-- method Entry::text_index_to_layout_index
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte index into the entry contents", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_entry_text_index_to_layout_index" gtk_entry_text_index_to_layout_index :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    Int32 ->                                -- text_index : TBasicType TInt
    IO Int32

{- |
Converts from a position in the entry contents (returned
by 'GI.Gtk.Objects.Entry.entryGetText') to a position in the
entry’s 'GI.Pango.Objects.Layout.Layout' (returned by 'GI.Gtk.Objects.Entry.entryGetLayout',
with text retrieved via 'GI.Pango.Objects.Layout.layoutGetText').
-}
entryTextIndexToLayoutIndex ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> Int32
    {- ^ /@textIndex@/: byte index into the entry contents -}
    -> m Int32
    {- ^ __Returns:__ byte index into the entry layout text -}
entryTextIndexToLayoutIndex entry textIndex = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    result <- gtk_entry_text_index_to_layout_index entry' textIndex
    touchManagedPtr entry
    return result

data EntryTextIndexToLayoutIndexMethodInfo
instance (signature ~ (Int32 -> m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryTextIndexToLayoutIndexMethodInfo a signature where
    overloadedMethod _ = entryTextIndexToLayoutIndex

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

foreign import ccall "gtk_entry_unset_invisible_char" gtk_entry_unset_invisible_char :: 
    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
    IO ()

{- |
Unsets the invisible char previously set with
'GI.Gtk.Objects.Entry.entrySetInvisibleChar'. So that the
default invisible char is used again.

@since 2.16
-}
entryUnsetInvisibleChar ::
    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
    a
    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
    -> m ()
entryUnsetInvisibleChar entry = liftIO $ do
    entry' <- unsafeManagedPtrCastPtr entry
    gtk_entry_unset_invisible_char entry'
    touchManagedPtr entry
    return ()

data EntryUnsetInvisibleCharMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryUnsetInvisibleCharMethodInfo a signature where
    overloadedMethod _ = entryUnsetInvisibleChar