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

module GI.WebKit2WebExtension.Objects.DOMHTMLButtonElement
    ( 

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


 -- * Methods
-- ** getAutofocus #method:getAutofocus#
    DOMHTMLButtonElementGetAutofocusMethodInfo,
    dOMHTMLButtonElementGetAutofocus        ,


-- ** getButtonType #method:getButtonType#
    DOMHTMLButtonElementGetButtonTypeMethodInfo,
    dOMHTMLButtonElementGetButtonType       ,


-- ** getDisabled #method:getDisabled#
    DOMHTMLButtonElementGetDisabledMethodInfo,
    dOMHTMLButtonElementGetDisabled         ,


-- ** getForm #method:getForm#
    DOMHTMLButtonElementGetFormMethodInfo   ,
    dOMHTMLButtonElementGetForm             ,


-- ** getName #method:getName#
    DOMHTMLButtonElementGetNameMethodInfo   ,
    dOMHTMLButtonElementGetName             ,


-- ** getValue #method:getValue#
    DOMHTMLButtonElementGetValueMethodInfo  ,
    dOMHTMLButtonElementGetValue            ,


-- ** getWillValidate #method:getWillValidate#
    DOMHTMLButtonElementGetWillValidateMethodInfo,
    dOMHTMLButtonElementGetWillValidate     ,


-- ** setAutofocus #method:setAutofocus#
    DOMHTMLButtonElementSetAutofocusMethodInfo,
    dOMHTMLButtonElementSetAutofocus        ,


-- ** setButtonType #method:setButtonType#
    DOMHTMLButtonElementSetButtonTypeMethodInfo,
    dOMHTMLButtonElementSetButtonType       ,


-- ** setDisabled #method:setDisabled#
    DOMHTMLButtonElementSetDisabledMethodInfo,
    dOMHTMLButtonElementSetDisabled         ,


-- ** setName #method:setName#
    DOMHTMLButtonElementSetNameMethodInfo   ,
    dOMHTMLButtonElementSetName             ,


-- ** setValue #method:setValue#
    DOMHTMLButtonElementSetValueMethodInfo  ,
    dOMHTMLButtonElementSetValue            ,




 -- * Properties
-- ** autofocus #attr:autofocus#
    DOMHTMLButtonElementAutofocusPropertyInfo,
    constructDOMHTMLButtonElementAutofocus  ,
    dOMHTMLButtonElementAutofocus           ,
    getDOMHTMLButtonElementAutofocus        ,
    setDOMHTMLButtonElementAutofocus        ,


-- ** disabled #attr:disabled#
    DOMHTMLButtonElementDisabledPropertyInfo,
    constructDOMHTMLButtonElementDisabled   ,
    dOMHTMLButtonElementDisabled            ,
    getDOMHTMLButtonElementDisabled         ,
    setDOMHTMLButtonElementDisabled         ,


-- ** form #attr:form#
    DOMHTMLButtonElementFormPropertyInfo    ,
    dOMHTMLButtonElementForm                ,
    getDOMHTMLButtonElementForm             ,


-- ** formAction #attr:formAction#
    DOMHTMLButtonElementFormActionPropertyInfo,
    clearDOMHTMLButtonElementFormAction     ,
    constructDOMHTMLButtonElementFormAction ,
    dOMHTMLButtonElementFormAction          ,
    getDOMHTMLButtonElementFormAction       ,
    setDOMHTMLButtonElementFormAction       ,


-- ** formEnctype #attr:formEnctype#
    DOMHTMLButtonElementFormEnctypePropertyInfo,
    clearDOMHTMLButtonElementFormEnctype    ,
    constructDOMHTMLButtonElementFormEnctype,
    dOMHTMLButtonElementFormEnctype         ,
    getDOMHTMLButtonElementFormEnctype      ,
    setDOMHTMLButtonElementFormEnctype      ,


-- ** formMethod #attr:formMethod#
    DOMHTMLButtonElementFormMethodPropertyInfo,
    clearDOMHTMLButtonElementFormMethod     ,
    constructDOMHTMLButtonElementFormMethod ,
    dOMHTMLButtonElementFormMethod          ,
    getDOMHTMLButtonElementFormMethod       ,
    setDOMHTMLButtonElementFormMethod       ,


-- ** formNoValidate #attr:formNoValidate#
    DOMHTMLButtonElementFormNoValidatePropertyInfo,
    constructDOMHTMLButtonElementFormNoValidate,
    dOMHTMLButtonElementFormNoValidate      ,
    getDOMHTMLButtonElementFormNoValidate   ,
    setDOMHTMLButtonElementFormNoValidate   ,


-- ** formTarget #attr:formTarget#
    DOMHTMLButtonElementFormTargetPropertyInfo,
    clearDOMHTMLButtonElementFormTarget     ,
    constructDOMHTMLButtonElementFormTarget ,
    dOMHTMLButtonElementFormTarget          ,
    getDOMHTMLButtonElementFormTarget       ,
    setDOMHTMLButtonElementFormTarget       ,


-- ** labels #attr:labels#
    DOMHTMLButtonElementLabelsPropertyInfo  ,
    dOMHTMLButtonElementLabels              ,
    getDOMHTMLButtonElementLabels           ,


-- ** name #attr:name#
    DOMHTMLButtonElementNamePropertyInfo    ,
    constructDOMHTMLButtonElementName       ,
    dOMHTMLButtonElementName                ,
    getDOMHTMLButtonElementName             ,
    setDOMHTMLButtonElementName             ,


-- ** type #attr:type#
    DOMHTMLButtonElementTypePropertyInfo    ,
    clearDOMHTMLButtonElementType           ,
    constructDOMHTMLButtonElementType       ,
    dOMHTMLButtonElementType                ,
    getDOMHTMLButtonElementType             ,
    setDOMHTMLButtonElementType             ,


-- ** validationMessage #attr:validationMessage#
    DOMHTMLButtonElementValidationMessagePropertyInfo,
    dOMHTMLButtonElementValidationMessage   ,
    getDOMHTMLButtonElementValidationMessage,


-- ** value #attr:value#
    DOMHTMLButtonElementValuePropertyInfo   ,
    constructDOMHTMLButtonElementValue      ,
    dOMHTMLButtonElementValue               ,
    getDOMHTMLButtonElementValue            ,
    setDOMHTMLButtonElementValue            ,


-- ** willValidate #attr:willValidate#
    DOMHTMLButtonElementWillValidatePropertyInfo,
    dOMHTMLButtonElementWillValidate        ,
    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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.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.DOMNodeList as WebKit2WebExtension.DOMNodeList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

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
    

class GObject o => IsDOMHTMLButtonElement o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMHTMLButtonElement a) =>
    IsDOMHTMLButtonElement a
#endif
instance IsDOMHTMLButtonElement DOMHTMLButtonElement
instance WebKit2WebExtension.DOMHTMLElement.IsDOMHTMLElement DOMHTMLButtonElement
instance WebKit2WebExtension.DOMElement.IsDOMElement DOMHTMLButtonElement
instance WebKit2WebExtension.DOMNode.IsDOMNode DOMHTMLButtonElement
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMHTMLButtonElement
instance GObject.Object.IsObject DOMHTMLButtonElement
instance WebKit2WebExtension.DOMEventTarget.IsDOMEventTarget DOMHTMLButtonElement

toDOMHTMLButtonElement :: IsDOMHTMLButtonElement o => o -> IO DOMHTMLButtonElement
toDOMHTMLButtonElement = unsafeCastTo DOMHTMLButtonElement

noDOMHTMLButtonElement :: Maybe DOMHTMLButtonElement
noDOMHTMLButtonElement = Nothing

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 "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 "hasAttribute" o = WebKit2WebExtension.DOMElement.DOMElementHasAttributeMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasAttributeNs" o = WebKit2WebExtension.DOMElement.DOMElementHasAttributeNsMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasAttributes" o = WebKit2WebExtension.DOMElement.DOMElementHasAttributesMethodInfo
    ResolveDOMHTMLButtonElementMethod "hasChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeHasChildNodesMethodInfo
    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 "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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMHTMLButtonElementMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    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 "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 "getButtonType" o = DOMHTMLButtonElementGetButtonTypeMethodInfo
    ResolveDOMHTMLButtonElementMethod "getChildElementCount" o = WebKit2WebExtension.DOMElement.DOMElementGetChildElementCountMethodInfo
    ResolveDOMHTMLButtonElementMethod "getChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeGetChildNodesMethodInfo
    ResolveDOMHTMLButtonElementMethod "getChildren" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementGetChildrenMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClassName" o = WebKit2WebExtension.DOMElement.DOMElementGetClassNameMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientHeight" o = WebKit2WebExtension.DOMElement.DOMElementGetClientHeightMethodInfo
    ResolveDOMHTMLButtonElementMethod "getClientLeft" o = WebKit2WebExtension.DOMElement.DOMElementGetClientLeftMethodInfo
    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 "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 "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 "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 "getValue" o = DOMHTMLButtonElementGetValueMethodInfo
    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 "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 "setTabIndex" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetTabIndexMethodInfo
    ResolveDOMHTMLButtonElementMethod "setTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeSetTextContentMethodInfo
    ResolveDOMHTMLButtonElementMethod "setTitle" o = WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementSetTitleMethodInfo
    ResolveDOMHTMLButtonElementMethod "setValue" o = DOMHTMLButtonElementSetValueMethodInfo
    ResolveDOMHTMLButtonElementMethod l o = O.MethodResolutionFailed l o

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

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

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

getDOMHTMLButtonElementAutofocus :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementAutofocus obj = liftIO $ getObjectPropertyBool obj "autofocus"

setDOMHTMLButtonElementAutofocus :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> Bool -> m ()
setDOMHTMLButtonElementAutofocus obj val = liftIO $ setObjectPropertyBool obj "autofocus" val

constructDOMHTMLButtonElementAutofocus :: (IsDOMHTMLButtonElement o) => Bool -> IO (GValueConstruct o)
constructDOMHTMLButtonElementAutofocus val = constructObjectPropertyBool "autofocus" val

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

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

getDOMHTMLButtonElementDisabled :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementDisabled obj = liftIO $ getObjectPropertyBool obj "disabled"

setDOMHTMLButtonElementDisabled :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> Bool -> m ()
setDOMHTMLButtonElementDisabled obj val = liftIO $ setObjectPropertyBool obj "disabled" val

constructDOMHTMLButtonElementDisabled :: (IsDOMHTMLButtonElement o) => Bool -> IO (GValueConstruct o)
constructDOMHTMLButtonElementDisabled val = constructObjectPropertyBool "disabled" val

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

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

getDOMHTMLButtonElementForm :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement
getDOMHTMLButtonElementForm obj = liftIO $ checkUnexpectedNothing "getDOMHTMLButtonElementForm" $ getObjectPropertyObject obj "form" WebKit2WebExtension.DOMHTMLFormElement.DOMHTMLFormElement

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

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

getDOMHTMLButtonElementFormAction :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementFormAction obj = liftIO $ getObjectPropertyString obj "form-action"

setDOMHTMLButtonElementFormAction :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementFormAction obj val = liftIO $ setObjectPropertyString obj "form-action" (Just val)

constructDOMHTMLButtonElementFormAction :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementFormAction val = constructObjectPropertyString "form-action" (Just val)

clearDOMHTMLButtonElementFormAction :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m ()
clearDOMHTMLButtonElementFormAction obj = liftIO $ setObjectPropertyString obj "form-action" (Nothing :: Maybe T.Text)

data DOMHTMLButtonElementFormActionPropertyInfo
instance AttrInfo DOMHTMLButtonElementFormActionPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementFormActionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementFormActionPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementFormActionPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementFormActionPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementFormActionPropertyInfo = "form-action"
    type AttrOrigin DOMHTMLButtonElementFormActionPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementFormAction
    attrSet _ = setDOMHTMLButtonElementFormAction
    attrConstruct _ = constructDOMHTMLButtonElementFormAction
    attrClear _ = clearDOMHTMLButtonElementFormAction

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

getDOMHTMLButtonElementFormEnctype :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementFormEnctype obj = liftIO $ getObjectPropertyString obj "form-enctype"

setDOMHTMLButtonElementFormEnctype :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementFormEnctype obj val = liftIO $ setObjectPropertyString obj "form-enctype" (Just val)

constructDOMHTMLButtonElementFormEnctype :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementFormEnctype val = constructObjectPropertyString "form-enctype" (Just val)

clearDOMHTMLButtonElementFormEnctype :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m ()
clearDOMHTMLButtonElementFormEnctype obj = liftIO $ setObjectPropertyString obj "form-enctype" (Nothing :: Maybe T.Text)

data DOMHTMLButtonElementFormEnctypePropertyInfo
instance AttrInfo DOMHTMLButtonElementFormEnctypePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementFormEnctypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementFormEnctypePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementFormEnctypePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementFormEnctypePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementFormEnctypePropertyInfo = "form-enctype"
    type AttrOrigin DOMHTMLButtonElementFormEnctypePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementFormEnctype
    attrSet _ = setDOMHTMLButtonElementFormEnctype
    attrConstruct _ = constructDOMHTMLButtonElementFormEnctype
    attrClear _ = clearDOMHTMLButtonElementFormEnctype

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

getDOMHTMLButtonElementFormMethod :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementFormMethod obj = liftIO $ getObjectPropertyString obj "form-method"

setDOMHTMLButtonElementFormMethod :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementFormMethod obj val = liftIO $ setObjectPropertyString obj "form-method" (Just val)

constructDOMHTMLButtonElementFormMethod :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementFormMethod val = constructObjectPropertyString "form-method" (Just val)

clearDOMHTMLButtonElementFormMethod :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m ()
clearDOMHTMLButtonElementFormMethod obj = liftIO $ setObjectPropertyString obj "form-method" (Nothing :: Maybe T.Text)

data DOMHTMLButtonElementFormMethodPropertyInfo
instance AttrInfo DOMHTMLButtonElementFormMethodPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementFormMethodPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementFormMethodPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementFormMethodPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementFormMethodPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementFormMethodPropertyInfo = "form-method"
    type AttrOrigin DOMHTMLButtonElementFormMethodPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementFormMethod
    attrSet _ = setDOMHTMLButtonElementFormMethod
    attrConstruct _ = constructDOMHTMLButtonElementFormMethod
    attrClear _ = clearDOMHTMLButtonElementFormMethod

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

getDOMHTMLButtonElementFormNoValidate :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementFormNoValidate obj = liftIO $ getObjectPropertyBool obj "form-no-validate"

setDOMHTMLButtonElementFormNoValidate :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> Bool -> m ()
setDOMHTMLButtonElementFormNoValidate obj val = liftIO $ setObjectPropertyBool obj "form-no-validate" val

constructDOMHTMLButtonElementFormNoValidate :: (IsDOMHTMLButtonElement o) => Bool -> IO (GValueConstruct o)
constructDOMHTMLButtonElementFormNoValidate val = constructObjectPropertyBool "form-no-validate" val

data DOMHTMLButtonElementFormNoValidatePropertyInfo
instance AttrInfo DOMHTMLButtonElementFormNoValidatePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementFormNoValidatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLButtonElementFormNoValidatePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLButtonElementFormNoValidatePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementFormNoValidatePropertyInfo = Bool
    type AttrLabel DOMHTMLButtonElementFormNoValidatePropertyInfo = "form-no-validate"
    type AttrOrigin DOMHTMLButtonElementFormNoValidatePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementFormNoValidate
    attrSet _ = setDOMHTMLButtonElementFormNoValidate
    attrConstruct _ = constructDOMHTMLButtonElementFormNoValidate
    attrClear _ = undefined

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

getDOMHTMLButtonElementFormTarget :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementFormTarget obj = liftIO $ getObjectPropertyString obj "form-target"

setDOMHTMLButtonElementFormTarget :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementFormTarget obj val = liftIO $ setObjectPropertyString obj "form-target" (Just val)

constructDOMHTMLButtonElementFormTarget :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementFormTarget val = constructObjectPropertyString "form-target" (Just val)

clearDOMHTMLButtonElementFormTarget :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m ()
clearDOMHTMLButtonElementFormTarget obj = liftIO $ setObjectPropertyString obj "form-target" (Nothing :: Maybe T.Text)

data DOMHTMLButtonElementFormTargetPropertyInfo
instance AttrInfo DOMHTMLButtonElementFormTargetPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementFormTargetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementFormTargetPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLButtonElementFormTargetPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementFormTargetPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementFormTargetPropertyInfo = "form-target"
    type AttrOrigin DOMHTMLButtonElementFormTargetPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementFormTarget
    attrSet _ = setDOMHTMLButtonElementFormTarget
    attrConstruct _ = constructDOMHTMLButtonElementFormTarget
    attrClear _ = clearDOMHTMLButtonElementFormTarget

-- VVV Prop "labels"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNodeList"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMHTMLButtonElementLabels :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe WebKit2WebExtension.DOMNodeList.DOMNodeList)
getDOMHTMLButtonElementLabels obj = liftIO $ getObjectPropertyObject obj "labels" WebKit2WebExtension.DOMNodeList.DOMNodeList

data DOMHTMLButtonElementLabelsPropertyInfo
instance AttrInfo DOMHTMLButtonElementLabelsPropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementLabelsPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementLabelsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLButtonElementLabelsPropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementLabelsPropertyInfo = (Maybe WebKit2WebExtension.DOMNodeList.DOMNodeList)
    type AttrLabel DOMHTMLButtonElementLabelsPropertyInfo = "labels"
    type AttrOrigin DOMHTMLButtonElementLabelsPropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementLabels
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMHTMLButtonElementName :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementName obj = liftIO $ getObjectPropertyString obj "name"

setDOMHTMLButtonElementName :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementName obj val = liftIO $ setObjectPropertyString obj "name" (Just val)

constructDOMHTMLButtonElementName :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementName val = constructObjectPropertyString "name" (Just val)

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

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

getDOMHTMLButtonElementType :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementType obj = liftIO $ getObjectPropertyString obj "type"

setDOMHTMLButtonElementType :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementType obj val = liftIO $ setObjectPropertyString obj "type" (Just val)

constructDOMHTMLButtonElementType :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementType val = constructObjectPropertyString "type" (Just val)

clearDOMHTMLButtonElementType :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m ()
clearDOMHTMLButtonElementType obj = liftIO $ setObjectPropertyString obj "type" (Nothing :: Maybe T.Text)

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

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

getDOMHTMLButtonElementValidationMessage :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementValidationMessage obj = liftIO $ getObjectPropertyString obj "validation-message"

data DOMHTMLButtonElementValidationMessagePropertyInfo
instance AttrInfo DOMHTMLButtonElementValidationMessagePropertyInfo where
    type AttrAllowedOps DOMHTMLButtonElementValidationMessagePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMHTMLButtonElementValidationMessagePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLButtonElementValidationMessagePropertyInfo = IsDOMHTMLButtonElement
    type AttrGetType DOMHTMLButtonElementValidationMessagePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMHTMLButtonElementValidationMessagePropertyInfo = "validation-message"
    type AttrOrigin DOMHTMLButtonElementValidationMessagePropertyInfo = DOMHTMLButtonElement
    attrGet _ = getDOMHTMLButtonElementValidationMessage
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMHTMLButtonElementValue :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m (Maybe T.Text)
getDOMHTMLButtonElementValue obj = liftIO $ getObjectPropertyString obj "value"

setDOMHTMLButtonElementValue :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> T.Text -> m ()
setDOMHTMLButtonElementValue obj val = liftIO $ setObjectPropertyString obj "value" (Just val)

constructDOMHTMLButtonElementValue :: (IsDOMHTMLButtonElement o) => T.Text -> IO (GValueConstruct o)
constructDOMHTMLButtonElementValue val = constructObjectPropertyString "value" (Just val)

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

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

getDOMHTMLButtonElementWillValidate :: (MonadIO m, IsDOMHTMLButtonElement o) => o -> m Bool
getDOMHTMLButtonElementWillValidate obj = liftIO $ getObjectPropertyBool obj "will-validate"

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

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), '("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), '("formAction", DOMHTMLButtonElementFormActionPropertyInfo), '("formEnctype", DOMHTMLButtonElementFormEnctypePropertyInfo), '("formMethod", DOMHTMLButtonElementFormMethodPropertyInfo), '("formNoValidate", DOMHTMLButtonElementFormNoValidatePropertyInfo), '("formTarget", DOMHTMLButtonElementFormTargetPropertyInfo), '("hidden", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementHiddenPropertyInfo), '("id", WebKit2WebExtension.DOMElement.DOMElementIdPropertyInfo), '("innerHtml", WebKit2WebExtension.DOMElement.DOMElementInnerHtmlPropertyInfo), '("innerText", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementInnerTextPropertyInfo), '("isConnected", WebKit2WebExtension.DOMNode.DOMNodeIsConnectedPropertyInfo), '("isContentEditable", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementIsContentEditablePropertyInfo), '("labels", DOMHTMLButtonElementLabelsPropertyInfo), '("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), '("validationMessage", DOMHTMLButtonElementValidationMessagePropertyInfo), '("value", DOMHTMLButtonElementValuePropertyInfo), '("webkitRegionOverset", WebKit2WebExtension.DOMElement.DOMElementWebkitRegionOversetPropertyInfo), '("webkitdropzone", WebKit2WebExtension.DOMHTMLElement.DOMHTMLElementWebkitdropzonePropertyInfo), '("willValidate", DOMHTMLButtonElementWillValidatePropertyInfo)] :: [(Symbol, *)])

dOMHTMLButtonElementAutofocus :: AttrLabelProxy "autofocus"
dOMHTMLButtonElementAutofocus = AttrLabelProxy

dOMHTMLButtonElementDisabled :: AttrLabelProxy "disabled"
dOMHTMLButtonElementDisabled = AttrLabelProxy

dOMHTMLButtonElementForm :: AttrLabelProxy "form"
dOMHTMLButtonElementForm = AttrLabelProxy

dOMHTMLButtonElementFormAction :: AttrLabelProxy "formAction"
dOMHTMLButtonElementFormAction = AttrLabelProxy

dOMHTMLButtonElementFormEnctype :: AttrLabelProxy "formEnctype"
dOMHTMLButtonElementFormEnctype = AttrLabelProxy

dOMHTMLButtonElementFormMethod :: AttrLabelProxy "formMethod"
dOMHTMLButtonElementFormMethod = AttrLabelProxy

dOMHTMLButtonElementFormNoValidate :: AttrLabelProxy "formNoValidate"
dOMHTMLButtonElementFormNoValidate = AttrLabelProxy

dOMHTMLButtonElementFormTarget :: AttrLabelProxy "formTarget"
dOMHTMLButtonElementFormTarget = AttrLabelProxy

dOMHTMLButtonElementLabels :: AttrLabelProxy "labels"
dOMHTMLButtonElementLabels = AttrLabelProxy

dOMHTMLButtonElementName :: AttrLabelProxy "name"
dOMHTMLButtonElementName = AttrLabelProxy

dOMHTMLButtonElementType :: AttrLabelProxy "type"
dOMHTMLButtonElementType = AttrLabelProxy

dOMHTMLButtonElementValidationMessage :: AttrLabelProxy "validationMessage"
dOMHTMLButtonElementValidationMessage = AttrLabelProxy

dOMHTMLButtonElementValue :: AttrLabelProxy "value"
dOMHTMLButtonElementValue = AttrLabelProxy

dOMHTMLButtonElementWillValidate :: AttrLabelProxy "willValidate"
dOMHTMLButtonElementWillValidate = AttrLabelProxy

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

-- 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

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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)

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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 ()

{- |
/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 ()

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

-- 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 ()

{- |
/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 ()

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

-- 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 ()

{- |
/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 ()

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

-- 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 ()

{- |
/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 ()

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

-- 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 ()

{- |
/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 ()

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