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

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

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

module GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement
    (

-- * Exported types
    DOMHTMLButtonElement(..)                ,
    IsDOMHTMLButtonElement                  ,
    toDOMHTMLButtonElement                  ,
    noDOMHTMLButtonElement                  ,


 -- * Methods
-- ** getAutofocus #method:getAutofocus#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetAutofocusMethodInfo,
#endif
    dOMHTMLButtonElementGetAutofocus        ,


-- ** getButtonType #method:getButtonType#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetButtonTypeMethodInfo,
#endif
    dOMHTMLButtonElementGetButtonType       ,


-- ** getDisabled #method:getDisabled#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetDisabledMethodInfo,
#endif
    dOMHTMLButtonElementGetDisabled         ,


-- ** getForm #method:getForm#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetFormMethodInfo   ,
#endif
    dOMHTMLButtonElementGetForm             ,


-- ** getName #method:getName#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetNameMethodInfo   ,
#endif
    dOMHTMLButtonElementGetName             ,


-- ** getValue #method:getValue#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetValueMethodInfo  ,
#endif
    dOMHTMLButtonElementGetValue            ,


-- ** getWillValidate #method:getWillValidate#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementGetWillValidateMethodInfo,
#endif
    dOMHTMLButtonElementGetWillValidate     ,


-- ** setAutofocus #method:setAutofocus#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementSetAutofocusMethodInfo,
#endif
    dOMHTMLButtonElementSetAutofocus        ,


-- ** setButtonType #method:setButtonType#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementSetButtonTypeMethodInfo,
#endif
    dOMHTMLButtonElementSetButtonType       ,


-- ** setDisabled #method:setDisabled#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementSetDisabledMethodInfo,
#endif
    dOMHTMLButtonElementSetDisabled         ,


-- ** setName #method:setName#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementSetNameMethodInfo   ,
#endif
    dOMHTMLButtonElementSetName             ,


-- ** setValue #method:setValue#

#if ENABLE_OVERLOADING
    DOMHTMLButtonElementSetValueMethodInfo  ,
#endif
    dOMHTMLButtonElementSetValue            ,




 -- * Properties
-- ** autofocus #attr:autofocus#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementAutofocusPropertyInfo,
#endif
    constructDOMHTMLButtonElementAutofocus  ,
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementAutofocus           ,
#endif
    getDOMHTMLButtonElementAutofocus        ,
    setDOMHTMLButtonElementAutofocus        ,


-- ** disabled #attr:disabled#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementDisabledPropertyInfo,
#endif
    constructDOMHTMLButtonElementDisabled   ,
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementDisabled            ,
#endif
    getDOMHTMLButtonElementDisabled         ,
    setDOMHTMLButtonElementDisabled         ,


-- ** form #attr:form#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementFormPropertyInfo    ,
#endif
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementForm                ,
#endif
    getDOMHTMLButtonElementForm             ,


-- ** name #attr:name#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementNamePropertyInfo    ,
#endif
    constructDOMHTMLButtonElementName       ,
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementName                ,
#endif
    getDOMHTMLButtonElementName             ,
    setDOMHTMLButtonElementName             ,


-- ** type #attr:type#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementTypePropertyInfo    ,
#endif
    clearDOMHTMLButtonElementType           ,
    constructDOMHTMLButtonElementType       ,
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementType                ,
#endif
    getDOMHTMLButtonElementType             ,
    setDOMHTMLButtonElementType             ,


-- ** value #attr:value#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementValuePropertyInfo   ,
#endif
    constructDOMHTMLButtonElementValue      ,
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementValue               ,
#endif
    getDOMHTMLButtonElementValue            ,
    setDOMHTMLButtonElementValue            ,


-- ** willValidate #attr:willValidate#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMHTMLButtonElementWillValidatePropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMHTMLButtonElementWillValidate        ,
#endif
    getDOMHTMLButtonElementWillValidate     ,




    ) 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.WebKit2WebExtension.Interfaces.DOMEventTarget as WebKit2WebExtension.DOMEventTarget
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMElement as WebKit2WebExtension.DOMElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLElement as WebKit2WebExtension.DOMHTMLElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLFormElement as WebKit2WebExtension.DOMHTMLFormElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNode as WebKit2WebExtension.DOMNode
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

-- | Memory-managed wrapper type.
newtype DOMHTMLButtonElement = DOMHTMLButtonElement (ManagedPtr DOMHTMLButtonElement)
foreign import ccall "webkit_dom_html_button_element_get_type"
    c_webkit_dom_html_button_element_get_type :: IO GType

instance GObject DOMHTMLButtonElement where
    gobjectType = c_webkit_dom_html_button_element_get_type


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

instance O.HasParentTypes DOMHTMLButtonElement
type instance O.ParentTypes DOMHTMLButtonElement = '[WebKit2WebExtension.DOMHTMLElement.DOMHTMLElement, WebKit2WebExtension.DOMElement.DOMElement, WebKit2WebExtension.DOMNode.DOMNode, WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object, WebKit2WebExtension.DOMEventTarget.DOMEventTarget]

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

-- | A convenience alias for `Nothing` :: `Maybe` `DOMHTMLButtonElement`.
noDOMHTMLButtonElement :: Maybe DOMHTMLButtonElement
noDOMHTMLButtonElement = Nothing

#if ENABLE_OVERLOADING
type family ResolveDOMHTMLButtonElementMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMHTMLButtonElementMethod "addEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetAddEventListenerMethodInfo
    ResolveDOMHTMLButtonElementMethod "appendChild" o = WebKit2WebExtension.DOMNode.DOMNodeAppendChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMHTMLButtonElementMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMHTMLButtonElementMethod "blur" o = WebKit2WebExtension.DOMElement.DOMElementBlurMethodInfo
    ResolveDOMHTMLButtonElementMethod "click" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementClickMethodInfo
    ResolveDOMHTMLButtonElementMethod "cloneNodeWithError" o = WebKit2WebExtension.DOMNode.DOMNodeCloneNodeWithErrorMethodInfo
    ResolveDOMHTMLButtonElementMethod "closest" o = WebKit2WebExtension.DOMElement.DOMElementClosestMethodInfo
    ResolveDOMHTMLButtonElementMethod "compareDocumentPosition" o = WebKit2WebExtension.DOMNode.DOMNodeCompareDocumentPositionMethodInfo
    ResolveDOMHTMLButtonElementMethod "contains" o = WebKit2WebExtension.DOMNode.DOMNodeContainsMethodInfo
    ResolveDOMHTMLButtonElementMethod "dispatchEvent" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetDispatchEventMethodInfo
    ResolveDOMHTMLButtonElementMethod "focus" o = WebKit2WebExtension.DOMElement.DOMElementFocusMethodInfo
    ResolveDOMHTMLButtonElementMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMHTMLButtonElementMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMHTMLButtonElementMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasAttribute" o = WebKit2WebExtension.DOMElement.DOMElementHasAttributeMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasAttributeNs" o = WebKit2WebExtension.DOMElement.DOMElementHasAttributeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasAttributes" o = WebKit2WebExtension.DOMElement.DOMElementHasAttributesMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeHasChildNodesMethodInfo
    ResolveDOMHTMLButtonElementMethod "htmlInputElementGetAutoFilled" o = WebKit2WebExtension.DOMElement.DOMElementHtmlInputElementGetAutoFilledMethodInfo
    ResolveDOMHTMLButtonElementMethod "htmlInputElementIsUserEdited" o = WebKit2WebExtension.DOMElement.DOMElementHtmlInputElementIsUserEditedMethodInfo
    ResolveDOMHTMLButtonElementMethod "htmlInputElementSetAutoFilled" o = WebKit2WebExtension.DOMElement.DOMElementHtmlInputElementSetAutoFilledMethodInfo
    ResolveDOMHTMLButtonElementMethod "htmlInputElementSetEditingValue" o = WebKit2WebExtension.DOMElement.DOMElementHtmlInputElementSetEditingValueMethodInfo
    ResolveDOMHTMLButtonElementMethod "insertAdjacentElement" o = WebKit2WebExtension.DOMElement.DOMElementInsertAdjacentElementMethodInfo
    ResolveDOMHTMLButtonElementMethod "insertAdjacentHtml" o = WebKit2WebExtension.DOMElement.DOMElementInsertAdjacentHtmlMethodInfo
    ResolveDOMHTMLButtonElementMethod "insertAdjacentText" o = WebKit2WebExtension.DOMElement.DOMElementInsertAdjacentTextMethodInfo
    ResolveDOMHTMLButtonElementMethod "insertBefore" o = WebKit2WebExtension.DOMNode.DOMNodeInsertBeforeMethodInfo
    ResolveDOMHTMLButtonElementMethod "isDefaultNamespace" o = WebKit2WebExtension.DOMNode.DOMNodeIsDefaultNamespaceMethodInfo
    ResolveDOMHTMLButtonElementMethod "isEqualNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsEqualNodeMethodInfo
    ResolveDOMHTMLButtonElementMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMHTMLButtonElementMethod "isSameNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsSameNodeMethodInfo
    ResolveDOMHTMLButtonElementMethod "isSupported" o = WebKit2WebExtension.DOMNode.DOMNodeIsSupportedMethodInfo
    ResolveDOMHTMLButtonElementMethod "lookupNamespaceUri" o = WebKit2WebExtension.DOMNode.DOMNodeLookupNamespaceUriMethodInfo
    ResolveDOMHTMLButtonElementMethod "lookupPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeLookupPrefixMethodInfo
    ResolveDOMHTMLButtonElementMethod "matches" o = WebKit2WebExtension.DOMElement.DOMElementMatchesMethodInfo
    ResolveDOMHTMLButtonElementMethod "normalize" o = WebKit2WebExtension.DOMNode.DOMNodeNormalizeMethodInfo
    ResolveDOMHTMLButtonElementMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMHTMLButtonElementMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMHTMLButtonElementMethod "querySelector" o = WebKit2WebExtension.DOMElement.DOMElementQuerySelectorMethodInfo
    ResolveDOMHTMLButtonElementMethod "querySelectorAll" o = WebKit2WebExtension.DOMElement.DOMElementQuerySelectorAllMethodInfo
    ResolveDOMHTMLButtonElementMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMHTMLButtonElementMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMHTMLButtonElementMethod "remove" o = WebKit2WebExtension.DOMElement.DOMElementRemoveMethodInfo
    ResolveDOMHTMLButtonElementMethod "removeAttribute" o = WebKit2WebExtension.DOMElement.DOMElementRemoveAttributeMethodInfo
    ResolveDOMHTMLButtonElementMethod "removeAttributeNode" o = WebKit2WebExtension.DOMElement.DOMElementRemoveAttributeNodeMethodInfo
    ResolveDOMHTMLButtonElementMethod "removeAttributeNs" o = WebKit2WebExtension.DOMElement.DOMElementRemoveAttributeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "removeChild" o = WebKit2WebExtension.DOMNode.DOMNodeRemoveChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "removeEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetRemoveEventListenerMethodInfo
    ResolveDOMHTMLButtonElementMethod "replaceChild" o = WebKit2WebExtension.DOMNode.DOMNodeReplaceChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "requestPointerLock" o = WebKit2WebExtension.DOMElement.DOMElementRequestPointerLockMethodInfo
    ResolveDOMHTMLButtonElementMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMHTMLButtonElementMethod "scrollByLines" o = WebKit2WebExtension.DOMElement.DOMElementScrollByLinesMethodInfo
    ResolveDOMHTMLButtonElementMethod "scrollByPages" o = WebKit2WebExtension.DOMElement.DOMElementScrollByPagesMethodInfo
    ResolveDOMHTMLButtonElementMethod "scrollIntoView" o = WebKit2WebExtension.DOMElement.DOMElementScrollIntoViewMethodInfo
    ResolveDOMHTMLButtonElementMethod "scrollIntoViewIfNeeded" o = WebKit2WebExtension.DOMElement.DOMElementScrollIntoViewIfNeededMethodInfo
    ResolveDOMHTMLButtonElementMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMHTMLButtonElementMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMHTMLButtonElementMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMHTMLButtonElementMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMHTMLButtonElementMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMHTMLButtonElementMethod "webkitMatchesSelector" o = WebKit2WebExtension.DOMElement.DOMElementWebkitMatchesSelectorMethodInfo
    ResolveDOMHTMLButtonElementMethod "webkitRequestFullscreen" o = WebKit2WebExtension.DOMElement.DOMElementWebkitRequestFullscreenMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAccessKey" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetAccessKeyMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAttribute" o = WebKit2WebExtension.DOMElement.DOMElementGetAttributeMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAttributeNode" o = WebKit2WebExtension.DOMElement.DOMElementGetAttributeNodeMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAttributeNodeNs" o = WebKit2WebExtension.DOMElement.DOMElementGetAttributeNodeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAttributeNs" o = WebKit2WebExtension.DOMElement.DOMElementGetAttributeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAttributes" o = WebKit2WebExtension.DOMElement.DOMElementGetAttributesMethodInfo
    ResolveDOMHTMLButtonElementMethod "getAutofocus" o = DOMHTMLButtonElementGetAutofocusMethodInfo
    ResolveDOMHTMLButtonElementMethod "getBaseUri" o = WebKit2WebExtension.DOMNode.DOMNodeGetBaseUriMethodInfo
    ResolveDOMHTMLButtonElementMethod "getBoundingClientRect" o = WebKit2WebExtension.DOMElement.DOMElementGetBoundingClientRectMethodInfo
    ResolveDOMHTMLButtonElementMethod "getButtonType" o = DOMHTMLButtonElementGetButtonTypeMethodInfo
    ResolveDOMHTMLButtonElementMethod "getChildElementCount" o = WebKit2WebExtension.DOMElement.DOMElementGetChildElementCountMethodInfo
    ResolveDOMHTMLButtonElementMethod "getChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeGetChildNodesMethodInfo
    ResolveDOMHTMLButtonElementMethod "getChildren" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetChildrenMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClassList" o = WebKit2WebExtension.DOMElement.DOMElementGetClassListMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClassName" o = WebKit2WebExtension.DOMElement.DOMElementGetClassNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientHeight" o = WebKit2WebExtension.DOMElement.DOMElementGetClientHeightMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientLeft" o = WebKit2WebExtension.DOMElement.DOMElementGetClientLeftMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientRects" o = WebKit2WebExtension.DOMElement.DOMElementGetClientRectsMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientTop" o = WebKit2WebExtension.DOMElement.DOMElementGetClientTopMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientWidth" o = WebKit2WebExtension.DOMElement.DOMElementGetClientWidthMethodInfo
    ResolveDOMHTMLButtonElementMethod "getContentEditable" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetContentEditableMethodInfo
    ResolveDOMHTMLButtonElementMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMHTMLButtonElementMethod "getDir" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetDirMethodInfo
    ResolveDOMHTMLButtonElementMethod "getDisabled" o = DOMHTMLButtonElementGetDisabledMethodInfo
    ResolveDOMHTMLButtonElementMethod "getDraggable" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetDraggableMethodInfo
    ResolveDOMHTMLButtonElementMethod "getElementsByClassName" o = WebKit2WebExtension.DOMElement.DOMElementGetElementsByClassNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getElementsByClassNameAsHtmlCollection" o = WebKit2WebExtension.DOMElement.DOMElementGetElementsByClassNameAsHtmlCollectionMethodInfo
    ResolveDOMHTMLButtonElementMethod "getElementsByTagName" o = WebKit2WebExtension.DOMElement.DOMElementGetElementsByTagNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getElementsByTagNameAsHtmlCollection" o = WebKit2WebExtension.DOMElement.DOMElementGetElementsByTagNameAsHtmlCollectionMethodInfo
    ResolveDOMHTMLButtonElementMethod "getElementsByTagNameNs" o = WebKit2WebExtension.DOMElement.DOMElementGetElementsByTagNameNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "getElementsByTagNameNsAsHtmlCollection" o = WebKit2WebExtension.DOMElement.DOMElementGetElementsByTagNameNsAsHtmlCollectionMethodInfo
    ResolveDOMHTMLButtonElementMethod "getFirstChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetFirstChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "getFirstElementChild" o = WebKit2WebExtension.DOMElement.DOMElementGetFirstElementChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "getForm" o = DOMHTMLButtonElementGetFormMethodInfo
    ResolveDOMHTMLButtonElementMethod "getHidden" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetHiddenMethodInfo
    ResolveDOMHTMLButtonElementMethod "getId" o = WebKit2WebExtension.DOMElement.DOMElementGetIdMethodInfo
    ResolveDOMHTMLButtonElementMethod "getInnerHtml" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetInnerHtmlMethodInfo
    ResolveDOMHTMLButtonElementMethod "getInnerText" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetInnerTextMethodInfo
    ResolveDOMHTMLButtonElementMethod "getIsContentEditable" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetIsContentEditableMethodInfo
    ResolveDOMHTMLButtonElementMethod "getLang" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetLangMethodInfo
    ResolveDOMHTMLButtonElementMethod "getLastChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetLastChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "getLastElementChild" o = WebKit2WebExtension.DOMElement.DOMElementGetLastElementChildMethodInfo
    ResolveDOMHTMLButtonElementMethod "getLocalName" o = WebKit2WebExtension.DOMElement.DOMElementGetLocalNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getName" o = DOMHTMLButtonElementGetNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getNamespaceUri" o = WebKit2WebExtension.DOMElement.DOMElementGetNamespaceUriMethodInfo
    ResolveDOMHTMLButtonElementMethod "getNextElementSibling" o = WebKit2WebExtension.DOMElement.DOMElementGetNextElementSiblingMethodInfo
    ResolveDOMHTMLButtonElementMethod "getNextSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetNextSiblingMethodInfo
    ResolveDOMHTMLButtonElementMethod "getNodeName" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getNodeType" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeTypeMethodInfo
    ResolveDOMHTMLButtonElementMethod "getNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeValueMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOffsetHeight" o = WebKit2WebExtension.DOMElement.DOMElementGetOffsetHeightMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOffsetLeft" o = WebKit2WebExtension.DOMElement.DOMElementGetOffsetLeftMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOffsetParent" o = WebKit2WebExtension.DOMElement.DOMElementGetOffsetParentMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOffsetTop" o = WebKit2WebExtension.DOMElement.DOMElementGetOffsetTopMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOffsetWidth" o = WebKit2WebExtension.DOMElement.DOMElementGetOffsetWidthMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOuterHtml" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetOuterHtmlMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOuterText" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetOuterTextMethodInfo
    ResolveDOMHTMLButtonElementMethod "getOwnerDocument" o = WebKit2WebExtension.DOMNode.DOMNodeGetOwnerDocumentMethodInfo
    ResolveDOMHTMLButtonElementMethod "getParentElement" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentElementMethodInfo
    ResolveDOMHTMLButtonElementMethod "getParentNode" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentNodeMethodInfo
    ResolveDOMHTMLButtonElementMethod "getPrefix" o = WebKit2WebExtension.DOMElement.DOMElementGetPrefixMethodInfo
    ResolveDOMHTMLButtonElementMethod "getPreviousElementSibling" o = WebKit2WebExtension.DOMElement.DOMElementGetPreviousElementSiblingMethodInfo
    ResolveDOMHTMLButtonElementMethod "getPreviousSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetPreviousSiblingMethodInfo
    ResolveDOMHTMLButtonElementMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMHTMLButtonElementMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMHTMLButtonElementMethod "getScrollHeight" o = WebKit2WebExtension.DOMElement.DOMElementGetScrollHeightMethodInfo
    ResolveDOMHTMLButtonElementMethod "getScrollLeft" o = WebKit2WebExtension.DOMElement.DOMElementGetScrollLeftMethodInfo
    ResolveDOMHTMLButtonElementMethod "getScrollTop" o = WebKit2WebExtension.DOMElement.DOMElementGetScrollTopMethodInfo
    ResolveDOMHTMLButtonElementMethod "getScrollWidth" o = WebKit2WebExtension.DOMElement.DOMElementGetScrollWidthMethodInfo
    ResolveDOMHTMLButtonElementMethod "getSpellcheck" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetSpellcheckMethodInfo
    ResolveDOMHTMLButtonElementMethod "getStyle" o = WebKit2WebExtension.DOMElement.DOMElementGetStyleMethodInfo
    ResolveDOMHTMLButtonElementMethod "getTabIndex" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetTabIndexMethodInfo
    ResolveDOMHTMLButtonElementMethod "getTagName" o = WebKit2WebExtension.DOMElement.DOMElementGetTagNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeGetTextContentMethodInfo
    ResolveDOMHTMLButtonElementMethod "getTitle" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetTitleMethodInfo
    ResolveDOMHTMLButtonElementMethod "getTranslate" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetTranslateMethodInfo
    ResolveDOMHTMLButtonElementMethod "getValue" o = DOMHTMLButtonElementGetValueMethodInfo
    ResolveDOMHTMLButtonElementMethod "getWebkitRegionOverset" o = WebKit2WebExtension.DOMElement.DOMElementGetWebkitRegionOversetMethodInfo
    ResolveDOMHTMLButtonElementMethod "getWebkitdropzone" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetWebkitdropzoneMethodInfo
    ResolveDOMHTMLButtonElementMethod "getWillValidate" o = DOMHTMLButtonElementGetWillValidateMethodInfo
    ResolveDOMHTMLButtonElementMethod "setAccessKey" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetAccessKeyMethodInfo
    ResolveDOMHTMLButtonElementMethod "setAttribute" o = WebKit2WebExtension.DOMElement.DOMElementSetAttributeMethodInfo
    ResolveDOMHTMLButtonElementMethod "setAttributeNode" o = WebKit2WebExtension.DOMElement.DOMElementSetAttributeNodeMethodInfo
    ResolveDOMHTMLButtonElementMethod "setAttributeNodeNs" o = WebKit2WebExtension.DOMElement.DOMElementSetAttributeNodeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "setAttributeNs" o = WebKit2WebExtension.DOMElement.DOMElementSetAttributeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "setAutofocus" o = DOMHTMLButtonElementSetAutofocusMethodInfo
    ResolveDOMHTMLButtonElementMethod "setButtonType" o = DOMHTMLButtonElementSetButtonTypeMethodInfo
    ResolveDOMHTMLButtonElementMethod "setClassName" o = WebKit2WebExtension.DOMElement.DOMElementSetClassNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "setContentEditable" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetContentEditableMethodInfo
    ResolveDOMHTMLButtonElementMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMHTMLButtonElementMethod "setDir" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetDirMethodInfo
    ResolveDOMHTMLButtonElementMethod "setDisabled" o = DOMHTMLButtonElementSetDisabledMethodInfo
    ResolveDOMHTMLButtonElementMethod "setDraggable" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetDraggableMethodInfo
    ResolveDOMHTMLButtonElementMethod "setHidden" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetHiddenMethodInfo
    ResolveDOMHTMLButtonElementMethod "setId" o = WebKit2WebExtension.DOMElement.DOMElementSetIdMethodInfo
    ResolveDOMHTMLButtonElementMethod "setInnerHtml" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetInnerHtmlMethodInfo
    ResolveDOMHTMLButtonElementMethod "setInnerText" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetInnerTextMethodInfo
    ResolveDOMHTMLButtonElementMethod "setLang" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetLangMethodInfo
    ResolveDOMHTMLButtonElementMethod "setName" o = DOMHTMLButtonElementSetNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "setNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeSetNodeValueMethodInfo
    ResolveDOMHTMLButtonElementMethod "setOuterHtml" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetOuterHtmlMethodInfo
    ResolveDOMHTMLButtonElementMethod "setOuterText" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetOuterTextMethodInfo
    ResolveDOMHTMLButtonElementMethod "setPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeSetPrefixMethodInfo
    ResolveDOMHTMLButtonElementMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMHTMLButtonElementMethod "setScrollLeft" o = WebKit2WebExtension.DOMElement.DOMElementSetScrollLeftMethodInfo
    ResolveDOMHTMLButtonElementMethod "setScrollTop" o = WebKit2WebExtension.DOMElement.DOMElementSetScrollTopMethodInfo
    ResolveDOMHTMLButtonElementMethod "setSpellcheck" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetSpellcheckMethodInfo
    ResolveDOMHTMLButtonElementMethod "setTabIndex" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetTabIndexMethodInfo
    ResolveDOMHTMLButtonElementMethod "setTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeSetTextContentMethodInfo
    ResolveDOMHTMLButtonElementMethod "setTitle" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetTitleMethodInfo
    ResolveDOMHTMLButtonElementMethod "setTranslate" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetTranslateMethodInfo
    ResolveDOMHTMLButtonElementMethod "setValue" o = DOMHTMLButtonElementSetValueMethodInfo
    ResolveDOMHTMLButtonElementMethod "setWebkitdropzone" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetWebkitdropzoneMethodInfo
    ResolveDOMHTMLButtonElementMethod l o = O.MethodResolutionFailed l o

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

#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #autofocus
@
-}
getDOMHTMLButtonElementAutofocus :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementAutofocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "autofocus"

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

@
'Data.GI.Base.Attributes.set' dOMHTMLButtonElement [ #autofocus 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMHTMLButtonElementAutofocus :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> Bool -> m ()
setDOMHTMLButtonElementAutofocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "autofocus" val

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

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementAutofocusPropertyInfo
instance AttrInfo DOMHTMLButtonElementAutofocusPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementAutofocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLButtonElementAutofocusPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLButtonElementAutofocusPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementAutofocusPropertyInfo = Bool
    type AttrLabel DOMHTMLButtonElementAutofocusPropertyInfo = "autofocus"
    type AttrOrigin DOMHTMLButtonElementAutofocusPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementAutofocus
    attrSet _ = setDOMHTMLButtonElementAutofocus
    attrConstruct _ = constructDOMHTMLButtonElementAutofocus
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #disabled
@
-}
getDOMHTMLButtonElementDisabled :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementDisabled obj = liftIO $ B.Properties.getObjectPropertyBool obj "disabled"

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

@
'Data.GI.Base.Attributes.set' dOMHTMLButtonElement [ #disabled 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMHTMLButtonElementDisabled :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> Bool -> m ()
setDOMHTMLButtonElementDisabled obj val = liftIO $ B.Properties.setObjectPropertyBool obj "disabled" val

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

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementDisabledPropertyInfo
instance AttrInfo DOMHTMLButtonElementDisabledPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementDisabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLButtonElementDisabledPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLButtonElementDisabledPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementDisabledPropertyInfo = Bool
    type AttrLabel DOMHTMLButtonElementDisabledPropertyInfo = "disabled"
    type AttrOrigin DOMHTMLButtonElementDisabledPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementDisabled
    attrSet _ = setDOMHTMLButtonElementDisabled
    attrConstruct _ = constructDOMHTMLButtonElementDisabled
    attrClear _ = undefined
#endif

-- VVV Prop "form"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLFormElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #form
@
-}
getDOMHTMLButtonElementForm :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement
getDOMHTMLButtonElementForm obj = liftIO $ checkUnexpectedNothing "getDOMHTMLButtonElementForm" $ B.Properties.getObjectPropertyObject obj "form" WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementFormPropertyInfo
instance AttrInfo DOMHTMLButtonElementFormPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementFormPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementFormPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLButtonElementFormPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementFormPropertyInfo = WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement
    type AttrLabel DOMHTMLButtonElementFormPropertyInfo = "form"
    type AttrOrigin DOMHTMLButtonElementFormPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementForm
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #name
@
-}
getDOMHTMLButtonElementName :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementName obj = liftIO $ B.Properties.getObjectPropertyString obj "name"

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

@
'Data.GI.Base.Attributes.set' dOMHTMLButtonElement [ #name 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMHTMLButtonElementName :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementName obj val = liftIO $ B.Properties.setObjectPropertyString obj "name" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMHTMLButtonElementName :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementName val = B.Properties.constructObjectPropertyString "name" (Just val)

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementNamePropertyInfo
instance AttrInfo DOMHTMLButtonElementNamePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLButtonElementNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementNamePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementNamePropertyInfo = "name"
    type AttrOrigin DOMHTMLButtonElementNamePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementName
    attrSet _ = setDOMHTMLButtonElementName
    attrConstruct _ = constructDOMHTMLButtonElementName
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #type
@
-}
getDOMHTMLButtonElementType :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementType obj = liftIO $ B.Properties.getObjectPropertyString obj "type"

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

@
'Data.GI.Base.Attributes.set' dOMHTMLButtonElement [ #type 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMHTMLButtonElementType :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementType obj val = liftIO $ B.Properties.setObjectPropertyString obj "type" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMHTMLButtonElementType :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementType val = B.Properties.constructObjectPropertyString "type" (Just val)

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

@
'Data.GI.Base.Attributes.clear' #type
@
-}
clearDOMHTMLButtonElementType :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m ()
clearDOMHTMLButtonElementType obj = liftIO $ B.Properties.setObjectPropertyString obj "type" (Nothing :: Maybe T.Text)

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementTypePropertyInfo
instance AttrInfo DOMHTMLButtonElementTypePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementTypePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementTypePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementTypePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementTypePropertyInfo = "type"
    type AttrOrigin DOMHTMLButtonElementTypePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementType
    attrSet _ = setDOMHTMLButtonElementType
    attrConstruct _ = constructDOMHTMLButtonElementType
    attrClear _ = clearDOMHTMLButtonElementType
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #value
@
-}
getDOMHTMLButtonElementValue :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementValue obj = liftIO $ B.Properties.getObjectPropertyString obj "value"

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

@
'Data.GI.Base.Attributes.set' dOMHTMLButtonElement [ #value 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMHTMLButtonElementValue :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementValue obj val = liftIO $ B.Properties.setObjectPropertyString obj "value" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMHTMLButtonElementValue :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementValue val = B.Properties.constructObjectPropertyString "value" (Just val)

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementValuePropertyInfo
instance AttrInfo DOMHTMLButtonElementValuePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLButtonElementValuePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementValuePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementValuePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementValuePropertyInfo = "value"
    type AttrOrigin DOMHTMLButtonElementValuePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementValue
    attrSet _ = setDOMHTMLButtonElementValue
    attrConstruct _ = constructDOMHTMLButtonElementValue
    attrClear _ = undefined
#endif

-- VVV Prop "will-validate"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

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

@
'Data.GI.Base.Attributes.get' dOMHTMLButtonElement #willValidate
@
-}
getDOMHTMLButtonElementWillValidate :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementWillValidate obj = liftIO $ B.Properties.getObjectPropertyBool obj "will-validate"

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementWillValidatePropertyInfo
instance AttrInfo DOMHTMLButtonElementWillValidatePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementWillValidatePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLButtonElementWillValidatePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLButtonElementWillValidatePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementWillValidatePropertyInfo = Bool
    type AttrLabel DOMHTMLButtonElementWillValidatePropertyInfo = "will-validate"
    type AttrOrigin DOMHTMLButtonElementWillValidatePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementWillValidate
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList DOMHTMLButtonElement
type instance O.AttributeList DOMHTMLButtonElement = DOMHTMLButtonElementAttributeList
type DOMHTMLButtonElementAttributeList = ('[ '("accessKey", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementAccessKeyPropertyInfo), '("attributes", WebKit2WebExtension.DOMElement.DOMElementAttributesPropertyInfo), '("autofocus", DOMHTMLButtonElementAutofocusPropertyInfo), '("baseUri", WebKit2WebExtension.DOMNode.DOMNodeBaseUriPropertyInfo), '("childElementCount", WebKit2WebExtension.DOMElement.DOMElementChildElementCountPropertyInfo), '("childNodes", WebKit2WebExtension.DOMNode.DOMNodeChildNodesPropertyInfo), '("children", WebKit2WebExtension.DOMElement.DOMElementChildrenPropertyInfo), '("classList", WebKit2WebExtension.DOMElement.DOMElementClassListPropertyInfo), '("className", WebKit2WebExtension.DOMElement.DOMElementClassNamePropertyInfo), '("clientHeight", WebKit2WebExtension.DOMElement.DOMElementClientHeightPropertyInfo), '("clientLeft", WebKit2WebExtension.DOMElement.DOMElementClientLeftPropertyInfo), '("clientTop", WebKit2WebExtension.DOMElement.DOMElementClientTopPropertyInfo), '("clientWidth", WebKit2WebExtension.DOMElement.DOMElementClientWidthPropertyInfo), '("contentEditable", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementContentEditablePropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("dir", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementDirPropertyInfo), '("disabled", DOMHTMLButtonElementDisabledPropertyInfo), '("draggable", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementDraggablePropertyInfo), '("firstChild", WebKit2WebExtension.DOMNode.DOMNodeFirstChildPropertyInfo), '("firstElementChild", WebKit2WebExtension.DOMElement.DOMElementFirstElementChildPropertyInfo), '("form", DOMHTMLButtonElementFormPropertyInfo), '("hidden", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementHiddenPropertyInfo), '("id", WebKit2WebExtension.DOMElement.DOMElementIdPropertyInfo), '("innerHtml", WebKit2WebExtension.DOMElement.DOMElementInnerHtmlPropertyInfo), '("innerText", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementInnerTextPropertyInfo), '("isContentEditable", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementIsContentEditablePropertyInfo), '("lang", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementLangPropertyInfo), '("lastChild", WebKit2WebExtension.DOMNode.DOMNodeLastChildPropertyInfo), '("lastElementChild", WebKit2WebExtension.DOMElement.DOMElementLastElementChildPropertyInfo), '("localName", WebKit2WebExtension.DOMElement.DOMElementLocalNamePropertyInfo), '("name", DOMHTMLButtonElementNamePropertyInfo), '("namespaceUri", WebKit2WebExtension.DOMElement.DOMElementNamespaceUriPropertyInfo), '("nextElementSibling", WebKit2WebExtension.DOMElement.DOMElementNextElementSiblingPropertyInfo), '("nextSibling", WebKit2WebExtension.DOMNode.DOMNodeNextSiblingPropertyInfo), '("nodeName", WebKit2WebExtension.DOMNode.DOMNodeNodeNamePropertyInfo), '("nodeType", WebKit2WebExtension.DOMNode.DOMNodeNodeTypePropertyInfo), '("nodeValue", WebKit2WebExtension.DOMNode.DOMNodeNodeValuePropertyInfo), '("offsetHeight", WebKit2WebExtension.DOMElement.DOMElementOffsetHeightPropertyInfo), '("offsetLeft", WebKit2WebExtension.DOMElement.DOMElementOffsetLeftPropertyInfo), '("offsetParent", WebKit2WebExtension.DOMElement.DOMElementOffsetParentPropertyInfo), '("offsetTop", WebKit2WebExtension.DOMElement.DOMElementOffsetTopPropertyInfo), '("offsetWidth", WebKit2WebExtension.DOMElement.DOMElementOffsetWidthPropertyInfo), '("outerHtml", WebKit2WebExtension.DOMElement.DOMElementOuterHtmlPropertyInfo), '("outerText", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementOuterTextPropertyInfo), '("ownerDocument", WebKit2WebExtension.DOMNode.DOMNodeOwnerDocumentPropertyInfo), '("parentElement", WebKit2WebExtension.DOMNode.DOMNodeParentElementPropertyInfo), '("parentNode", WebKit2WebExtension.DOMNode.DOMNodeParentNodePropertyInfo), '("prefix", WebKit2WebExtension.DOMElement.DOMElementPrefixPropertyInfo), '("previousElementSibling", WebKit2WebExtension.DOMElement.DOMElementPreviousElementSiblingPropertyInfo), '("previousSibling", WebKit2WebExtension.DOMNode.DOMNodePreviousSiblingPropertyInfo), '("scrollHeight", WebKit2WebExtension.DOMElement.DOMElementScrollHeightPropertyInfo), '("scrollLeft", WebKit2WebExtension.DOMElement.DOMElementScrollLeftPropertyInfo), '("scrollTop", WebKit2WebExtension.DOMElement.DOMElementScrollTopPropertyInfo), '("scrollWidth", WebKit2WebExtension.DOMElement.DOMElementScrollWidthPropertyInfo), '("spellcheck", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSpellcheckPropertyInfo), '("style", WebKit2WebExtension.DOMElement.DOMElementStylePropertyInfo), '("tabIndex", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementTabIndexPropertyInfo), '("tagName", WebKit2WebExtension.DOMElement.DOMElementTagNamePropertyInfo), '("textContent", WebKit2WebExtension.DOMNode.DOMNodeTextContentPropertyInfo), '("title", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementTitlePropertyInfo), '("translate", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementTranslatePropertyInfo), '("type", DOMHTMLButtonElementTypePropertyInfo), '("value", DOMHTMLButtonElementValuePropertyInfo), '("webkitRegionOverset", WebKit2WebExtension.DOMElement.DOMElementWebkitRegionOversetPropertyInfo), '("webkitdropzone", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementWebkitdropzonePropertyInfo), '("willValidate", DOMHTMLButtonElementWillValidatePropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
dOMHTMLButtonElementAutofocus :: AttrLabelProxy "autofocus"
dOMHTMLButtonElementAutofocus = AttrLabelProxy

dOMHTMLButtonElementDisabled :: AttrLabelProxy "disabled"
dOMHTMLButtonElementDisabled = AttrLabelProxy

dOMHTMLButtonElementForm :: AttrLabelProxy "form"
dOMHTMLButtonElementForm = AttrLabelProxy

dOMHTMLButtonElementName :: AttrLabelProxy "name"
dOMHTMLButtonElementName = AttrLabelProxy

dOMHTMLButtonElementType :: AttrLabelProxy "type"
dOMHTMLButtonElementType = AttrLabelProxy

dOMHTMLButtonElementValue :: AttrLabelProxy "value"
dOMHTMLButtonElementValue = AttrLabelProxy

dOMHTMLButtonElementWillValidate :: AttrLabelProxy "willValidate"
dOMHTMLButtonElementWillValidate = AttrLabelProxy

#endif

#if ENABLE_OVERLOADING
type instance O.SignalList DOMHTMLButtonElement = DOMHTMLButtonElementSignalList
type DOMHTMLButtonElementSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method DOMHTMLButtonElement::get_autofocus
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", 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 "webkit_dom_html_button_element_get_autofocus" webkit_dom_html_button_element_get_autofocus ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO CInt

{-# DEPRECATED dOMHTMLButtonElementGetAutofocus ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetAutofocus ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMHTMLButtonElementGetAutofocus self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_autofocus self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetAutofocusMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetAutofocusMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetAutofocus

#endif

-- method DOMHTMLButtonElement::get_button_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", 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 "webkit_dom_html_button_element_get_button_type" webkit_dom_html_button_element_get_button_type ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO CString

{-# DEPRECATED dOMHTMLButtonElementGetButtonType ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetButtonType ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMHTMLButtonElementGetButtonType self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_button_type self'
    checkUnexpectedReturnNULL "dOMHTMLButtonElementGetButtonType" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetButtonTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetButtonTypeMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetButtonType

#endif

-- method DOMHTMLButtonElement::get_disabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", 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 "webkit_dom_html_button_element_get_disabled" webkit_dom_html_button_element_get_disabled ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO CInt

{-# DEPRECATED dOMHTMLButtonElementGetDisabled ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetDisabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMHTMLButtonElementGetDisabled self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_disabled self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetDisabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetDisabledMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetDisabled

#endif

-- method DOMHTMLButtonElement::get_form
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLFormElement"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_button_element_get_form" webkit_dom_html_button_element_get_form ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO (Ptr WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement)

{-# DEPRECATED dOMHTMLButtonElementGetForm ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetForm ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLFormElement.DOMHTMLFormElement' -}
dOMHTMLButtonElementGetForm self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_form self'
    checkUnexpectedReturnNULL "dOMHTMLButtonElementGetForm" result
    result' <- (newObject WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetFormMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetFormMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetForm

#endif

-- method DOMHTMLButtonElement::get_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", 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 "webkit_dom_html_button_element_get_name" webkit_dom_html_button_element_get_name ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO CString

{-# DEPRECATED dOMHTMLButtonElementGetName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMHTMLButtonElementGetName self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_name self'
    checkUnexpectedReturnNULL "dOMHTMLButtonElementGetName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetNameMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetName

#endif

-- method DOMHTMLButtonElement::get_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", 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 "webkit_dom_html_button_element_get_value" webkit_dom_html_button_element_get_value ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO CString

{-# DEPRECATED dOMHTMLButtonElementGetValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMHTMLButtonElementGetValue self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_value self'
    checkUnexpectedReturnNULL "dOMHTMLButtonElementGetValue" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetValueMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetValueMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetValue

#endif

-- method DOMHTMLButtonElement::get_will_validate
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", 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 "webkit_dom_html_button_element_get_will_validate" webkit_dom_html_button_element_get_will_validate ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    IO CInt

{-# DEPRECATED dOMHTMLButtonElementGetWillValidate ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementGetWillValidate ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMHTMLButtonElementGetWillValidate self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_html_button_element_get_will_validate self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementGetWillValidateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementGetWillValidateMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementGetWillValidate

#endif

-- method DOMHTMLButtonElement::set_autofocus
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_button_element_set_autofocus" webkit_dom_html_button_element_set_autofocus ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()

{-# DEPRECATED dOMHTMLButtonElementSetAutofocus ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementSetAutofocus ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> Bool
    {- ^ /@value@/: A 'Bool' -}
    -> m ()
dOMHTMLButtonElementSetAutofocus self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_button_element_set_autofocus self' value'
    touchManagedPtr self
    return ()

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementSetAutofocusMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementSetAutofocusMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementSetAutofocus

#endif

-- method DOMHTMLButtonElement::set_button_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_button_element_set_button_type" webkit_dom_html_button_element_set_button_type ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    CString ->                              -- value : TBasicType TUTF8
    IO ()

{-# DEPRECATED dOMHTMLButtonElementSetButtonType ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementSetButtonType ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
dOMHTMLButtonElementSetButtonType self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    webkit_dom_html_button_element_set_button_type self' value'
    touchManagedPtr self
    freeMem value'
    return ()

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementSetButtonTypeMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementSetButtonTypeMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementSetButtonType

#endif

-- method DOMHTMLButtonElement::set_disabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_button_element_set_disabled" webkit_dom_html_button_element_set_disabled ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()

{-# DEPRECATED dOMHTMLButtonElementSetDisabled ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementSetDisabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> Bool
    {- ^ /@value@/: A 'Bool' -}
    -> m ()
dOMHTMLButtonElementSetDisabled self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_button_element_set_disabled self' value'
    touchManagedPtr self
    return ()

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementSetDisabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementSetDisabledMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementSetDisabled

#endif

-- method DOMHTMLButtonElement::set_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_button_element_set_name" webkit_dom_html_button_element_set_name ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    CString ->                              -- value : TBasicType TUTF8
    IO ()

{-# DEPRECATED dOMHTMLButtonElementSetName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementSetName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
dOMHTMLButtonElementSetName self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    webkit_dom_html_button_element_set_name self' value'
    touchManagedPtr self
    freeMem value'
    return ()

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementSetNameMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementSetNameMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementSetName

#endif

-- method DOMHTMLButtonElement::set_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMHTMLButtonElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_button_element_set_value" webkit_dom_html_button_element_set_value ::
    Ptr DOMHTMLButtonElement ->             -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLButtonElement"})
    CString ->                              -- value : TBasicType TUTF8
    IO ()

{-# DEPRECATED dOMHTMLButtonElementSetValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMHTMLButtonElementSetValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMHTMLButtonElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement.DOMHTMLButtonElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
dOMHTMLButtonElementSetValue self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    webkit_dom_html_button_element_set_value self' value'
    touchManagedPtr self
    freeMem value'
    return ()

#if ENABLE_OVERLOADING
data DOMHTMLButtonElementSetValueMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMHTMLButtonElement a) => O.MethodInfo DOMHTMLButtonElementSetValueMethodInfo a signature where
    overloadedMethod _ = dOMHTMLButtonElementSetValue

#endif