#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))
module GI.Poppler.Objects.FormField
    (
    FormField(..)                           ,
    IsFormField                             ,
    toFormField                             ,
    noFormField                             ,
 
#if ENABLE_OVERLOADING
    FormFieldButtonGetButtonTypeMethodInfo  ,
#endif
    formFieldButtonGetButtonType            ,
#if ENABLE_OVERLOADING
    FormFieldButtonGetStateMethodInfo       ,
#endif
    formFieldButtonGetState                 ,
#if ENABLE_OVERLOADING
    FormFieldButtonSetStateMethodInfo       ,
#endif
    formFieldButtonSetState                 ,
#if ENABLE_OVERLOADING
    FormFieldChoiceCanSelectMultipleMethodInfo,
#endif
    formFieldChoiceCanSelectMultiple        ,
#if ENABLE_OVERLOADING
    FormFieldChoiceCommitOnChangeMethodInfo ,
#endif
    formFieldChoiceCommitOnChange           ,
#if ENABLE_OVERLOADING
    FormFieldChoiceDoSpellCheckMethodInfo   ,
#endif
    formFieldChoiceDoSpellCheck             ,
#if ENABLE_OVERLOADING
    FormFieldChoiceGetChoiceTypeMethodInfo  ,
#endif
    formFieldChoiceGetChoiceType            ,
#if ENABLE_OVERLOADING
    FormFieldChoiceGetItemMethodInfo        ,
#endif
    formFieldChoiceGetItem                  ,
#if ENABLE_OVERLOADING
    FormFieldChoiceGetNItemsMethodInfo      ,
#endif
    formFieldChoiceGetNItems                ,
#if ENABLE_OVERLOADING
    FormFieldChoiceGetTextMethodInfo        ,
#endif
    formFieldChoiceGetText                  ,
#if ENABLE_OVERLOADING
    FormFieldChoiceIsEditableMethodInfo     ,
#endif
    formFieldChoiceIsEditable               ,
#if ENABLE_OVERLOADING
    FormFieldChoiceIsItemSelectedMethodInfo ,
#endif
    formFieldChoiceIsItemSelected           ,
#if ENABLE_OVERLOADING
    FormFieldChoiceSelectItemMethodInfo     ,
#endif
    formFieldChoiceSelectItem               ,
#if ENABLE_OVERLOADING
    FormFieldChoiceSetTextMethodInfo        ,
#endif
    formFieldChoiceSetText                  ,
#if ENABLE_OVERLOADING
    FormFieldChoiceToggleItemMethodInfo     ,
#endif
    formFieldChoiceToggleItem               ,
#if ENABLE_OVERLOADING
    FormFieldChoiceUnselectAllMethodInfo    ,
#endif
    formFieldChoiceUnselectAll              ,
#if ENABLE_OVERLOADING
    FormFieldGetActionMethodInfo            ,
#endif
    formFieldGetAction                      ,
#if ENABLE_OVERLOADING
    FormFieldGetAdditionalActionMethodInfo  ,
#endif
    formFieldGetAdditionalAction            ,
#if ENABLE_OVERLOADING
    FormFieldGetFieldTypeMethodInfo         ,
#endif
    formFieldGetFieldType                   ,
#if ENABLE_OVERLOADING
    FormFieldGetFontSizeMethodInfo          ,
#endif
    formFieldGetFontSize                    ,
#if ENABLE_OVERLOADING
    FormFieldGetIdMethodInfo                ,
#endif
    formFieldGetId                          ,
#if ENABLE_OVERLOADING
    FormFieldGetMappingNameMethodInfo       ,
#endif
    formFieldGetMappingName                 ,
#if ENABLE_OVERLOADING
    FormFieldGetNameMethodInfo              ,
#endif
    formFieldGetName                        ,
#if ENABLE_OVERLOADING
    FormFieldGetPartialNameMethodInfo       ,
#endif
    formFieldGetPartialName                 ,
#if ENABLE_OVERLOADING
    FormFieldIsReadOnlyMethodInfo           ,
#endif
    formFieldIsReadOnly                     ,
#if ENABLE_OVERLOADING
    FormFieldTextDoScrollMethodInfo         ,
#endif
    formFieldTextDoScroll                   ,
#if ENABLE_OVERLOADING
    FormFieldTextDoSpellCheckMethodInfo     ,
#endif
    formFieldTextDoSpellCheck               ,
#if ENABLE_OVERLOADING
    FormFieldTextGetMaxLenMethodInfo        ,
#endif
    formFieldTextGetMaxLen                  ,
#if ENABLE_OVERLOADING
    FormFieldTextGetTextMethodInfo          ,
#endif
    formFieldTextGetText                    ,
#if ENABLE_OVERLOADING
    FormFieldTextGetTextTypeMethodInfo      ,
#endif
    formFieldTextGetTextType                ,
#if ENABLE_OVERLOADING
    FormFieldTextIsPasswordMethodInfo       ,
#endif
    formFieldTextIsPassword                 ,
#if ENABLE_OVERLOADING
    FormFieldTextIsRichTextMethodInfo       ,
#endif
    formFieldTextIsRichText                 ,
#if ENABLE_OVERLOADING
    FormFieldTextSetTextMethodInfo          ,
#endif
    formFieldTextSetText                    ,
    ) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Poppler.Enums as Poppler.Enums
import {-# SOURCE #-} qualified GI.Poppler.Unions.Action as Poppler.Action
newtype FormField = FormField (ManagedPtr FormField)
foreign import ccall "poppler_form_field_get_type"
    c_poppler_form_field_get_type :: IO GType
instance GObject FormField where
    gobjectType = c_poppler_form_field_get_type
class (GObject o, O.IsDescendantOf FormField o) => IsFormField o
instance (GObject o, O.IsDescendantOf FormField o) => IsFormField o
instance O.HasParentTypes FormField
type instance O.ParentTypes FormField = '[GObject.Object.Object]
toFormField :: (MonadIO m, IsFormField o) => o -> m FormField
toFormField = liftIO . unsafeCastTo FormField
noFormField :: Maybe FormField
noFormField = Nothing
#if ENABLE_OVERLOADING
type family ResolveFormFieldMethod (t :: Symbol) (o :: *) :: * where
    ResolveFormFieldMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveFormFieldMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveFormFieldMethod "buttonGetButtonType" o = FormFieldButtonGetButtonTypeMethodInfo
    ResolveFormFieldMethod "buttonGetState" o = FormFieldButtonGetStateMethodInfo
    ResolveFormFieldMethod "buttonSetState" o = FormFieldButtonSetStateMethodInfo
    ResolveFormFieldMethod "choiceCanSelectMultiple" o = FormFieldChoiceCanSelectMultipleMethodInfo
    ResolveFormFieldMethod "choiceCommitOnChange" o = FormFieldChoiceCommitOnChangeMethodInfo
    ResolveFormFieldMethod "choiceDoSpellCheck" o = FormFieldChoiceDoSpellCheckMethodInfo
    ResolveFormFieldMethod "choiceGetChoiceType" o = FormFieldChoiceGetChoiceTypeMethodInfo
    ResolveFormFieldMethod "choiceGetItem" o = FormFieldChoiceGetItemMethodInfo
    ResolveFormFieldMethod "choiceGetNItems" o = FormFieldChoiceGetNItemsMethodInfo
    ResolveFormFieldMethod "choiceGetText" o = FormFieldChoiceGetTextMethodInfo
    ResolveFormFieldMethod "choiceIsEditable" o = FormFieldChoiceIsEditableMethodInfo
    ResolveFormFieldMethod "choiceIsItemSelected" o = FormFieldChoiceIsItemSelectedMethodInfo
    ResolveFormFieldMethod "choiceSelectItem" o = FormFieldChoiceSelectItemMethodInfo
    ResolveFormFieldMethod "choiceSetText" o = FormFieldChoiceSetTextMethodInfo
    ResolveFormFieldMethod "choiceToggleItem" o = FormFieldChoiceToggleItemMethodInfo
    ResolveFormFieldMethod "choiceUnselectAll" o = FormFieldChoiceUnselectAllMethodInfo
    ResolveFormFieldMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveFormFieldMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveFormFieldMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveFormFieldMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveFormFieldMethod "isReadOnly" o = FormFieldIsReadOnlyMethodInfo
    ResolveFormFieldMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveFormFieldMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveFormFieldMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveFormFieldMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveFormFieldMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveFormFieldMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveFormFieldMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveFormFieldMethod "textDoScroll" o = FormFieldTextDoScrollMethodInfo
    ResolveFormFieldMethod "textDoSpellCheck" o = FormFieldTextDoSpellCheckMethodInfo
    ResolveFormFieldMethod "textGetMaxLen" o = FormFieldTextGetMaxLenMethodInfo
    ResolveFormFieldMethod "textGetText" o = FormFieldTextGetTextMethodInfo
    ResolveFormFieldMethod "textGetTextType" o = FormFieldTextGetTextTypeMethodInfo
    ResolveFormFieldMethod "textIsPassword" o = FormFieldTextIsPasswordMethodInfo
    ResolveFormFieldMethod "textIsRichText" o = FormFieldTextIsRichTextMethodInfo
    ResolveFormFieldMethod "textSetText" o = FormFieldTextSetTextMethodInfo
    ResolveFormFieldMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveFormFieldMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveFormFieldMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveFormFieldMethod "getAction" o = FormFieldGetActionMethodInfo
    ResolveFormFieldMethod "getAdditionalAction" o = FormFieldGetAdditionalActionMethodInfo
    ResolveFormFieldMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveFormFieldMethod "getFieldType" o = FormFieldGetFieldTypeMethodInfo
    ResolveFormFieldMethod "getFontSize" o = FormFieldGetFontSizeMethodInfo
    ResolveFormFieldMethod "getId" o = FormFieldGetIdMethodInfo
    ResolveFormFieldMethod "getMappingName" o = FormFieldGetMappingNameMethodInfo
    ResolveFormFieldMethod "getName" o = FormFieldGetNameMethodInfo
    ResolveFormFieldMethod "getPartialName" o = FormFieldGetPartialNameMethodInfo
    ResolveFormFieldMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveFormFieldMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveFormFieldMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveFormFieldMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveFormFieldMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFormFieldMethod t FormField, O.MethodInfo info FormField p) => OL.IsLabel t (FormField -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList FormField
type instance O.AttributeList FormField = FormFieldAttributeList
type FormFieldAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList FormField = FormFieldSignalList
type FormFieldSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "poppler_form_field_button_get_button_type" poppler_form_field_button_get_button_type ::
    Ptr FormField ->                        
    IO CUInt
formFieldButtonGetButtonType ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Poppler.Enums.FormButtonType
    
formFieldButtonGetButtonType field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_button_get_button_type field'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldButtonGetButtonTypeMethodInfo
instance (signature ~ (m Poppler.Enums.FormButtonType), MonadIO m, IsFormField a) => O.MethodInfo FormFieldButtonGetButtonTypeMethodInfo a signature where
    overloadedMethod _ = formFieldButtonGetButtonType
#endif
foreign import ccall "poppler_form_field_button_get_state" poppler_form_field_button_get_state ::
    Ptr FormField ->                        
    IO CInt
formFieldButtonGetState ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldButtonGetState field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_button_get_state field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldButtonGetStateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldButtonGetStateMethodInfo a signature where
    overloadedMethod _ = formFieldButtonGetState
#endif
foreign import ccall "poppler_form_field_button_set_state" poppler_form_field_button_set_state ::
    Ptr FormField ->                        
    CInt ->                                 
    IO ()
formFieldButtonSetState ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> Bool
    
    -> m ()
formFieldButtonSetState field state = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    let state' = (fromIntegral . fromEnum) state
    poppler_form_field_button_set_state field' state'
    touchManagedPtr field
    return ()
#if ENABLE_OVERLOADING
data FormFieldButtonSetStateMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsFormField a) => O.MethodInfo FormFieldButtonSetStateMethodInfo a signature where
    overloadedMethod _ = formFieldButtonSetState
#endif
foreign import ccall "poppler_form_field_choice_can_select_multiple" poppler_form_field_choice_can_select_multiple ::
    Ptr FormField ->                        
    IO CInt
formFieldChoiceCanSelectMultiple ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldChoiceCanSelectMultiple field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_can_select_multiple field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceCanSelectMultipleMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceCanSelectMultipleMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceCanSelectMultiple
#endif
foreign import ccall "poppler_form_field_choice_commit_on_change" poppler_form_field_choice_commit_on_change ::
    Ptr FormField ->                        
    IO CInt
formFieldChoiceCommitOnChange ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    -> m Bool
formFieldChoiceCommitOnChange field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_commit_on_change field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceCommitOnChangeMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceCommitOnChangeMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceCommitOnChange
#endif
foreign import ccall "poppler_form_field_choice_do_spell_check" poppler_form_field_choice_do_spell_check ::
    Ptr FormField ->                        
    IO CInt
formFieldChoiceDoSpellCheck ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldChoiceDoSpellCheck field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_do_spell_check field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceDoSpellCheckMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceDoSpellCheckMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceDoSpellCheck
#endif
foreign import ccall "poppler_form_field_choice_get_choice_type" poppler_form_field_choice_get_choice_type ::
    Ptr FormField ->                        
    IO CUInt
formFieldChoiceGetChoiceType ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Poppler.Enums.FormChoiceType
    
formFieldChoiceGetChoiceType field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_get_choice_type field'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceGetChoiceTypeMethodInfo
instance (signature ~ (m Poppler.Enums.FormChoiceType), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceGetChoiceTypeMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceGetChoiceType
#endif
foreign import ccall "poppler_form_field_choice_get_item" poppler_form_field_choice_get_item ::
    Ptr FormField ->                        
    Int32 ->                                
    IO CString
formFieldChoiceGetItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> Int32
    
    -> m T.Text
    
formFieldChoiceGetItem field index = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_get_item field' index
    checkUnexpectedReturnNULL "formFieldChoiceGetItem" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceGetItemMethodInfo
instance (signature ~ (Int32 -> m T.Text), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceGetItemMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceGetItem
#endif
foreign import ccall "poppler_form_field_choice_get_n_items" poppler_form_field_choice_get_n_items ::
    Ptr FormField ->                        
    IO Int32
formFieldChoiceGetNItems ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Int32
    
formFieldChoiceGetNItems field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_get_n_items field'
    touchManagedPtr field
    return result
#if ENABLE_OVERLOADING
data FormFieldChoiceGetNItemsMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceGetNItemsMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceGetNItems
#endif
foreign import ccall "poppler_form_field_choice_get_text" poppler_form_field_choice_get_text ::
    Ptr FormField ->                        
    IO CString
formFieldChoiceGetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m T.Text
    
formFieldChoiceGetText field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_get_text field'
    checkUnexpectedReturnNULL "formFieldChoiceGetText" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceGetTextMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceGetText
#endif
foreign import ccall "poppler_form_field_choice_is_editable" poppler_form_field_choice_is_editable ::
    Ptr FormField ->                        
    IO CInt
formFieldChoiceIsEditable ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldChoiceIsEditable field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_is_editable field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceIsEditableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceIsEditableMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceIsEditable
#endif
foreign import ccall "poppler_form_field_choice_is_item_selected" poppler_form_field_choice_is_item_selected ::
    Ptr FormField ->                        
    Int32 ->                                
    IO CInt
formFieldChoiceIsItemSelected ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> Int32
    
    -> m Bool
    
formFieldChoiceIsItemSelected field index = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_choice_is_item_selected field' index
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldChoiceIsItemSelectedMethodInfo
instance (signature ~ (Int32 -> m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceIsItemSelectedMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceIsItemSelected
#endif
foreign import ccall "poppler_form_field_choice_select_item" poppler_form_field_choice_select_item ::
    Ptr FormField ->                        
    Int32 ->                                
    IO ()
formFieldChoiceSelectItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> Int32
    
    -> m ()
formFieldChoiceSelectItem field index = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    poppler_form_field_choice_select_item field' index
    touchManagedPtr field
    return ()
#if ENABLE_OVERLOADING
data FormFieldChoiceSelectItemMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceSelectItemMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceSelectItem
#endif
foreign import ccall "poppler_form_field_choice_set_text" poppler_form_field_choice_set_text ::
    Ptr FormField ->                        
    CString ->                              
    IO ()
formFieldChoiceSetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> T.Text
    
    -> m ()
formFieldChoiceSetText field text = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    text' <- textToCString text
    poppler_form_field_choice_set_text field' text'
    touchManagedPtr field
    freeMem text'
    return ()
#if ENABLE_OVERLOADING
data FormFieldChoiceSetTextMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceSetTextMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceSetText
#endif
foreign import ccall "poppler_form_field_choice_toggle_item" poppler_form_field_choice_toggle_item ::
    Ptr FormField ->                        
    Int32 ->                                
    IO ()
formFieldChoiceToggleItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> Int32
    
    -> m ()
formFieldChoiceToggleItem field index = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    poppler_form_field_choice_toggle_item field' index
    touchManagedPtr field
    return ()
#if ENABLE_OVERLOADING
data FormFieldChoiceToggleItemMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceToggleItemMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceToggleItem
#endif
foreign import ccall "poppler_form_field_choice_unselect_all" poppler_form_field_choice_unselect_all ::
    Ptr FormField ->                        
    IO ()
formFieldChoiceUnselectAll ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m ()
formFieldChoiceUnselectAll field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    poppler_form_field_choice_unselect_all field'
    touchManagedPtr field
    return ()
#if ENABLE_OVERLOADING
data FormFieldChoiceUnselectAllMethodInfo
instance (signature ~ (m ()), MonadIO m, IsFormField a) => O.MethodInfo FormFieldChoiceUnselectAllMethodInfo a signature where
    overloadedMethod _ = formFieldChoiceUnselectAll
#endif
foreign import ccall "poppler_form_field_get_action" poppler_form_field_get_action ::
    Ptr FormField ->                        
    IO (Ptr Poppler.Action.Action)
formFieldGetAction ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Poppler.Action.Action
    
formFieldGetAction field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_action field'
    checkUnexpectedReturnNULL "formFieldGetAction" result
    result' <- (newBoxed Poppler.Action.Action) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetActionMethodInfo
instance (signature ~ (m Poppler.Action.Action), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetActionMethodInfo a signature where
    overloadedMethod _ = formFieldGetAction
#endif
foreign import ccall "poppler_form_field_get_additional_action" poppler_form_field_get_additional_action ::
    Ptr FormField ->                        
    CUInt ->                                
    IO (Ptr Poppler.Action.Action)
formFieldGetAdditionalAction ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> Poppler.Enums.AdditionalActionType
    
    -> m Poppler.Action.Action
    
formFieldGetAdditionalAction field type_ = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    let type_' = (fromIntegral . fromEnum) type_
    result <- poppler_form_field_get_additional_action field' type_'
    checkUnexpectedReturnNULL "formFieldGetAdditionalAction" result
    result' <- (newBoxed Poppler.Action.Action) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetAdditionalActionMethodInfo
instance (signature ~ (Poppler.Enums.AdditionalActionType -> m Poppler.Action.Action), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetAdditionalActionMethodInfo a signature where
    overloadedMethod _ = formFieldGetAdditionalAction
#endif
foreign import ccall "poppler_form_field_get_field_type" poppler_form_field_get_field_type ::
    Ptr FormField ->                        
    IO CUInt
formFieldGetFieldType ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Poppler.Enums.FormFieldType
    
formFieldGetFieldType field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_field_type field'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetFieldTypeMethodInfo
instance (signature ~ (m Poppler.Enums.FormFieldType), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetFieldTypeMethodInfo a signature where
    overloadedMethod _ = formFieldGetFieldType
#endif
foreign import ccall "poppler_form_field_get_font_size" poppler_form_field_get_font_size ::
    Ptr FormField ->                        
    IO CDouble
formFieldGetFontSize ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Double
    
formFieldGetFontSize field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_font_size field'
    let result' = realToFrac result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetFontSizeMethodInfo
instance (signature ~ (m Double), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetFontSizeMethodInfo a signature where
    overloadedMethod _ = formFieldGetFontSize
#endif
foreign import ccall "poppler_form_field_get_id" poppler_form_field_get_id ::
    Ptr FormField ->                        
    IO Int32
formFieldGetId ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Int32
    
formFieldGetId field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_id field'
    touchManagedPtr field
    return result
#if ENABLE_OVERLOADING
data FormFieldGetIdMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetIdMethodInfo a signature where
    overloadedMethod _ = formFieldGetId
#endif
foreign import ccall "poppler_form_field_get_mapping_name" poppler_form_field_get_mapping_name ::
    Ptr FormField ->                        
    IO CString
formFieldGetMappingName ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m T.Text
    
formFieldGetMappingName field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_mapping_name field'
    checkUnexpectedReturnNULL "formFieldGetMappingName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetMappingNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetMappingNameMethodInfo a signature where
    overloadedMethod _ = formFieldGetMappingName
#endif
foreign import ccall "poppler_form_field_get_name" poppler_form_field_get_name ::
    Ptr FormField ->                        
    IO CString
formFieldGetName ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m T.Text
    
formFieldGetName field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_name field'
    checkUnexpectedReturnNULL "formFieldGetName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetNameMethodInfo a signature where
    overloadedMethod _ = formFieldGetName
#endif
foreign import ccall "poppler_form_field_get_partial_name" poppler_form_field_get_partial_name ::
    Ptr FormField ->                        
    IO CString
formFieldGetPartialName ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m T.Text
    
formFieldGetPartialName field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_get_partial_name field'
    checkUnexpectedReturnNULL "formFieldGetPartialName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldGetPartialNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsFormField a) => O.MethodInfo FormFieldGetPartialNameMethodInfo a signature where
    overloadedMethod _ = formFieldGetPartialName
#endif
foreign import ccall "poppler_form_field_is_read_only" poppler_form_field_is_read_only ::
    Ptr FormField ->                        
    IO CInt
formFieldIsReadOnly ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldIsReadOnly field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_is_read_only field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldIsReadOnlyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldIsReadOnlyMethodInfo a signature where
    overloadedMethod _ = formFieldIsReadOnly
#endif
foreign import ccall "poppler_form_field_text_do_scroll" poppler_form_field_text_do_scroll ::
    Ptr FormField ->                        
    IO CInt
formFieldTextDoScroll ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    -> m Bool
formFieldTextDoScroll field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_do_scroll field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldTextDoScrollMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextDoScrollMethodInfo a signature where
    overloadedMethod _ = formFieldTextDoScroll
#endif
foreign import ccall "poppler_form_field_text_do_spell_check" poppler_form_field_text_do_spell_check ::
    Ptr FormField ->                        
    IO CInt
formFieldTextDoSpellCheck ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldTextDoSpellCheck field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_do_spell_check field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldTextDoSpellCheckMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextDoSpellCheckMethodInfo a signature where
    overloadedMethod _ = formFieldTextDoSpellCheck
#endif
foreign import ccall "poppler_form_field_text_get_max_len" poppler_form_field_text_get_max_len ::
    Ptr FormField ->                        
    IO Int32
formFieldTextGetMaxLen ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Int32
    
formFieldTextGetMaxLen field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_get_max_len field'
    touchManagedPtr field
    return result
#if ENABLE_OVERLOADING
data FormFieldTextGetMaxLenMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextGetMaxLenMethodInfo a signature where
    overloadedMethod _ = formFieldTextGetMaxLen
#endif
foreign import ccall "poppler_form_field_text_get_text" poppler_form_field_text_get_text ::
    Ptr FormField ->                        
    IO CString
formFieldTextGetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m T.Text
    
formFieldTextGetText field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_get_text field'
    checkUnexpectedReturnNULL "formFieldTextGetText" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldTextGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextGetTextMethodInfo a signature where
    overloadedMethod _ = formFieldTextGetText
#endif
foreign import ccall "poppler_form_field_text_get_text_type" poppler_form_field_text_get_text_type ::
    Ptr FormField ->                        
    IO CUInt
formFieldTextGetTextType ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Poppler.Enums.FormTextType
    
formFieldTextGetTextType field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_get_text_type field'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldTextGetTextTypeMethodInfo
instance (signature ~ (m Poppler.Enums.FormTextType), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextGetTextTypeMethodInfo a signature where
    overloadedMethod _ = formFieldTextGetTextType
#endif
foreign import ccall "poppler_form_field_text_is_password" poppler_form_field_text_is_password ::
    Ptr FormField ->                        
    IO CInt
formFieldTextIsPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldTextIsPassword field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_is_password field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldTextIsPasswordMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextIsPasswordMethodInfo a signature where
    overloadedMethod _ = formFieldTextIsPassword
#endif
foreign import ccall "poppler_form_field_text_is_rich_text" poppler_form_field_text_is_rich_text ::
    Ptr FormField ->                        
    IO CInt
formFieldTextIsRichText ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> m Bool
    
formFieldTextIsRichText field = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    result <- poppler_form_field_text_is_rich_text field'
    let result' = (/= 0) result
    touchManagedPtr field
    return result'
#if ENABLE_OVERLOADING
data FormFieldTextIsRichTextMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextIsRichTextMethodInfo a signature where
    overloadedMethod _ = formFieldTextIsRichText
#endif
foreign import ccall "poppler_form_field_text_set_text" poppler_form_field_text_set_text ::
    Ptr FormField ->                        
    CString ->                              
    IO ()
formFieldTextSetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsFormField a) =>
    a
    
    -> T.Text
    
    -> m ()
formFieldTextSetText field text = liftIO $ do
    field' <- unsafeManagedPtrCastPtr field
    text' <- textToCString text
    poppler_form_field_text_set_text field' text'
    touchManagedPtr field
    freeMem text'
    return ()
#if ENABLE_OVERLOADING
data FormFieldTextSetTextMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsFormField a) => O.MethodInfo FormFieldTextSetTextMethodInfo a signature where
    overloadedMethod _ = formFieldTextSetText
#endif