{- |
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.WebKit.Objects.DOMHTMLTableSectionElement
    ( 

-- * Exported types
    DOMHTMLTableSectionElement(..)          ,
    DOMHTMLTableSectionElementK             ,
    toDOMHTMLTableSectionElement            ,
    noDOMHTMLTableSectionElement            ,


 -- * Methods
-- ** dOMHTMLTableSectionElementDeleteRow
    dOMHTMLTableSectionElementDeleteRow     ,


-- ** dOMHTMLTableSectionElementGetAlign
    dOMHTMLTableSectionElementGetAlign      ,


-- ** dOMHTMLTableSectionElementGetCh
    dOMHTMLTableSectionElementGetCh         ,


-- ** dOMHTMLTableSectionElementGetChOff
    dOMHTMLTableSectionElementGetChOff      ,


-- ** dOMHTMLTableSectionElementGetRows
    dOMHTMLTableSectionElementGetRows       ,


-- ** dOMHTMLTableSectionElementGetVAlign
    dOMHTMLTableSectionElementGetVAlign     ,


-- ** dOMHTMLTableSectionElementInsertRow
    dOMHTMLTableSectionElementInsertRow     ,


-- ** dOMHTMLTableSectionElementSetAlign
    dOMHTMLTableSectionElementSetAlign      ,


-- ** dOMHTMLTableSectionElementSetCh
    dOMHTMLTableSectionElementSetCh         ,


-- ** dOMHTMLTableSectionElementSetChOff
    dOMHTMLTableSectionElementSetChOff      ,


-- ** dOMHTMLTableSectionElementSetVAlign
    dOMHTMLTableSectionElementSetVAlign     ,




 -- * Properties
-- ** Align
    DOMHTMLTableSectionElementAlignPropertyInfo,
    constructDOMHTMLTableSectionElementAlign,
    getDOMHTMLTableSectionElementAlign      ,
    setDOMHTMLTableSectionElementAlign      ,


-- ** Ch
    DOMHTMLTableSectionElementChPropertyInfo,
    constructDOMHTMLTableSectionElementCh   ,
    getDOMHTMLTableSectionElementCh         ,
    setDOMHTMLTableSectionElementCh         ,


-- ** ChOff
    DOMHTMLTableSectionElementChOffPropertyInfo,
    constructDOMHTMLTableSectionElementChOff,
    getDOMHTMLTableSectionElementChOff      ,
    setDOMHTMLTableSectionElementChOff      ,


-- ** Rows
    DOMHTMLTableSectionElementRowsPropertyInfo,
    getDOMHTMLTableSectionElementRows       ,


-- ** VAlign
    DOMHTMLTableSectionElementVAlignPropertyInfo,
    constructDOMHTMLTableSectionElementVAlign,
    getDOMHTMLTableSectionElementVAlign     ,
    setDOMHTMLTableSectionElementVAlign     ,




    ) where

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

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

import GI.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

newtype DOMHTMLTableSectionElement = DOMHTMLTableSectionElement (ForeignPtr DOMHTMLTableSectionElement)
foreign import ccall "webkit_dom_html_table_section_element_get_type"
    c_webkit_dom_html_table_section_element_get_type :: IO GType

type instance ParentTypes DOMHTMLTableSectionElement = DOMHTMLTableSectionElementParentTypes
type DOMHTMLTableSectionElementParentTypes = '[DOMHTMLElement, DOMElement, DOMNode, DOMObject, GObject.Object, DOMEventTarget]

instance GObject DOMHTMLTableSectionElement where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_html_table_section_element_get_type
    

class GObject o => DOMHTMLTableSectionElementK o
instance (GObject o, IsDescendantOf DOMHTMLTableSectionElement o) => DOMHTMLTableSectionElementK o

toDOMHTMLTableSectionElement :: DOMHTMLTableSectionElementK o => o -> IO DOMHTMLTableSectionElement
toDOMHTMLTableSectionElement = unsafeCastTo DOMHTMLTableSectionElement

noDOMHTMLTableSectionElement :: Maybe DOMHTMLTableSectionElement
noDOMHTMLTableSectionElement = Nothing

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

getDOMHTMLTableSectionElementAlign :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> m T.Text
getDOMHTMLTableSectionElementAlign obj = liftIO $ getObjectPropertyString obj "align"

setDOMHTMLTableSectionElementAlign :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> T.Text -> m ()
setDOMHTMLTableSectionElementAlign obj val = liftIO $ setObjectPropertyString obj "align" val

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

data DOMHTMLTableSectionElementAlignPropertyInfo
instance AttrInfo DOMHTMLTableSectionElementAlignPropertyInfo where
    type AttrAllowedOps DOMHTMLTableSectionElementAlignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLTableSectionElementAlignPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLTableSectionElementAlignPropertyInfo = DOMHTMLTableSectionElementK
    type AttrGetType DOMHTMLTableSectionElementAlignPropertyInfo = T.Text
    type AttrLabel DOMHTMLTableSectionElementAlignPropertyInfo = "DOMHTMLTableSectionElement::align"
    attrGet _ = getDOMHTMLTableSectionElementAlign
    attrSet _ = setDOMHTMLTableSectionElementAlign
    attrConstruct _ = constructDOMHTMLTableSectionElementAlign

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

getDOMHTMLTableSectionElementCh :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> m T.Text
getDOMHTMLTableSectionElementCh obj = liftIO $ getObjectPropertyString obj "ch"

setDOMHTMLTableSectionElementCh :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> T.Text -> m ()
setDOMHTMLTableSectionElementCh obj val = liftIO $ setObjectPropertyString obj "ch" val

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

data DOMHTMLTableSectionElementChPropertyInfo
instance AttrInfo DOMHTMLTableSectionElementChPropertyInfo where
    type AttrAllowedOps DOMHTMLTableSectionElementChPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLTableSectionElementChPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLTableSectionElementChPropertyInfo = DOMHTMLTableSectionElementK
    type AttrGetType DOMHTMLTableSectionElementChPropertyInfo = T.Text
    type AttrLabel DOMHTMLTableSectionElementChPropertyInfo = "DOMHTMLTableSectionElement::ch"
    attrGet _ = getDOMHTMLTableSectionElementCh
    attrSet _ = setDOMHTMLTableSectionElementCh
    attrConstruct _ = constructDOMHTMLTableSectionElementCh

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

getDOMHTMLTableSectionElementChOff :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> m T.Text
getDOMHTMLTableSectionElementChOff obj = liftIO $ getObjectPropertyString obj "ch-off"

setDOMHTMLTableSectionElementChOff :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> T.Text -> m ()
setDOMHTMLTableSectionElementChOff obj val = liftIO $ setObjectPropertyString obj "ch-off" val

constructDOMHTMLTableSectionElementChOff :: T.Text -> IO ([Char], GValue)
constructDOMHTMLTableSectionElementChOff val = constructObjectPropertyString "ch-off" val

data DOMHTMLTableSectionElementChOffPropertyInfo
instance AttrInfo DOMHTMLTableSectionElementChOffPropertyInfo where
    type AttrAllowedOps DOMHTMLTableSectionElementChOffPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLTableSectionElementChOffPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLTableSectionElementChOffPropertyInfo = DOMHTMLTableSectionElementK
    type AttrGetType DOMHTMLTableSectionElementChOffPropertyInfo = T.Text
    type AttrLabel DOMHTMLTableSectionElementChOffPropertyInfo = "DOMHTMLTableSectionElement::ch-off"
    attrGet _ = getDOMHTMLTableSectionElementChOff
    attrSet _ = setDOMHTMLTableSectionElementChOff
    attrConstruct _ = constructDOMHTMLTableSectionElementChOff

-- VVV Prop "rows"
   -- Type: TInterface "WebKit" "DOMHTMLCollection"
   -- Flags: [PropertyReadable]

getDOMHTMLTableSectionElementRows :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> m DOMHTMLCollection
getDOMHTMLTableSectionElementRows obj = liftIO $ getObjectPropertyObject obj "rows" DOMHTMLCollection

data DOMHTMLTableSectionElementRowsPropertyInfo
instance AttrInfo DOMHTMLTableSectionElementRowsPropertyInfo where
    type AttrAllowedOps DOMHTMLTableSectionElementRowsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLTableSectionElementRowsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLTableSectionElementRowsPropertyInfo = DOMHTMLTableSectionElementK
    type AttrGetType DOMHTMLTableSectionElementRowsPropertyInfo = DOMHTMLCollection
    type AttrLabel DOMHTMLTableSectionElementRowsPropertyInfo = "DOMHTMLTableSectionElement::rows"
    attrGet _ = getDOMHTMLTableSectionElementRows
    attrSet _ = undefined
    attrConstruct _ = undefined

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

getDOMHTMLTableSectionElementVAlign :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> m T.Text
getDOMHTMLTableSectionElementVAlign obj = liftIO $ getObjectPropertyString obj "v-align"

setDOMHTMLTableSectionElementVAlign :: (MonadIO m, DOMHTMLTableSectionElementK o) => o -> T.Text -> m ()
setDOMHTMLTableSectionElementVAlign obj val = liftIO $ setObjectPropertyString obj "v-align" val

constructDOMHTMLTableSectionElementVAlign :: T.Text -> IO ([Char], GValue)
constructDOMHTMLTableSectionElementVAlign val = constructObjectPropertyString "v-align" val

data DOMHTMLTableSectionElementVAlignPropertyInfo
instance AttrInfo DOMHTMLTableSectionElementVAlignPropertyInfo where
    type AttrAllowedOps DOMHTMLTableSectionElementVAlignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLTableSectionElementVAlignPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLTableSectionElementVAlignPropertyInfo = DOMHTMLTableSectionElementK
    type AttrGetType DOMHTMLTableSectionElementVAlignPropertyInfo = T.Text
    type AttrLabel DOMHTMLTableSectionElementVAlignPropertyInfo = "DOMHTMLTableSectionElement::v-align"
    attrGet _ = getDOMHTMLTableSectionElementVAlign
    attrSet _ = setDOMHTMLTableSectionElementVAlign
    attrConstruct _ = constructDOMHTMLTableSectionElementVAlign

type instance AttributeList DOMHTMLTableSectionElement = DOMHTMLTableSectionElementAttributeList
type DOMHTMLTableSectionElementAttributeList = ('[ '("access-key", DOMHTMLElementAccessKeyPropertyInfo), '("align", DOMHTMLTableSectionElementAlignPropertyInfo), '("attributes", DOMElementAttributesPropertyInfo), '("base-uri", DOMNodeBaseUriPropertyInfo), '("ch", DOMHTMLTableSectionElementChPropertyInfo), '("ch-off", DOMHTMLTableSectionElementChOffPropertyInfo), '("child-element-count", DOMElementChildElementCountPropertyInfo), '("child-nodes", DOMNodeChildNodesPropertyInfo), '("children", DOMHTMLElementChildrenPropertyInfo), '("class-list", DOMElementClassListPropertyInfo), '("class-name", DOMElementClassNamePropertyInfo), '("client-height", DOMElementClientHeightPropertyInfo), '("client-left", DOMElementClientLeftPropertyInfo), '("client-top", DOMElementClientTopPropertyInfo), '("client-width", DOMElementClientWidthPropertyInfo), '("content-editable", DOMHTMLElementContentEditablePropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("dir", DOMHTMLElementDirPropertyInfo), '("draggable", DOMHTMLElementDraggablePropertyInfo), '("first-child", DOMNodeFirstChildPropertyInfo), '("first-element-child", DOMElementFirstElementChildPropertyInfo), '("hidden", DOMHTMLElementHiddenPropertyInfo), '("id", DOMElementIdPropertyInfo), '("inner-html", DOMHTMLElementInnerHtmlPropertyInfo), '("inner-text", DOMHTMLElementInnerTextPropertyInfo), '("is-content-editable", DOMHTMLElementIsContentEditablePropertyInfo), '("lang", DOMHTMLElementLangPropertyInfo), '("last-child", DOMNodeLastChildPropertyInfo), '("last-element-child", DOMElementLastElementChildPropertyInfo), '("local-name", DOMNodeLocalNamePropertyInfo), '("namespace-uri", DOMNodeNamespaceUriPropertyInfo), '("next-element-sibling", DOMElementNextElementSiblingPropertyInfo), '("next-sibling", DOMNodeNextSiblingPropertyInfo), '("node-name", DOMNodeNodeNamePropertyInfo), '("node-type", DOMNodeNodeTypePropertyInfo), '("node-value", DOMNodeNodeValuePropertyInfo), '("offset-height", DOMElementOffsetHeightPropertyInfo), '("offset-left", DOMElementOffsetLeftPropertyInfo), '("offset-parent", DOMElementOffsetParentPropertyInfo), '("offset-top", DOMElementOffsetTopPropertyInfo), '("offset-width", DOMElementOffsetWidthPropertyInfo), '("outer-html", DOMHTMLElementOuterHtmlPropertyInfo), '("outer-text", DOMHTMLElementOuterTextPropertyInfo), '("owner-document", DOMNodeOwnerDocumentPropertyInfo), '("parent-element", DOMNodeParentElementPropertyInfo), '("parent-node", DOMNodeParentNodePropertyInfo), '("prefix", DOMNodePrefixPropertyInfo), '("previous-element-sibling", DOMElementPreviousElementSiblingPropertyInfo), '("previous-sibling", DOMNodePreviousSiblingPropertyInfo), '("rows", DOMHTMLTableSectionElementRowsPropertyInfo), '("scroll-height", DOMElementScrollHeightPropertyInfo), '("scroll-left", DOMElementScrollLeftPropertyInfo), '("scroll-top", DOMElementScrollTopPropertyInfo), '("scroll-width", DOMElementScrollWidthPropertyInfo), '("spellcheck", DOMHTMLElementSpellcheckPropertyInfo), '("style", DOMElementStylePropertyInfo), '("tab-index", DOMHTMLElementTabIndexPropertyInfo), '("tag-name", DOMElementTagNamePropertyInfo), '("text-content", DOMNodeTextContentPropertyInfo), '("title", DOMHTMLElementTitlePropertyInfo), '("translate", DOMHTMLElementTranslatePropertyInfo), '("v-align", DOMHTMLTableSectionElementVAlignPropertyInfo), '("webkit-region-overset", DOMElementWebkitRegionOversetPropertyInfo), '("webkitdropzone", DOMHTMLElementWebkitdropzonePropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMHTMLTableSectionElement = DOMHTMLTableSectionElementSignalList
type DOMHTMLTableSectionElementSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

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

foreign import ccall "webkit_dom_html_table_section_element_delete_row" webkit_dom_html_table_section_element_delete_row :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    Int64 ->                                -- index : TBasicType TInt64
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMHTMLTableSectionElementDeleteRow ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- index
    m ()
dOMHTMLTableSectionElementDeleteRow _obj index = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    onException (do
        propagateGError $ webkit_dom_html_table_section_element_delete_row _obj' index
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

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

foreign import ccall "webkit_dom_html_table_section_element_get_align" webkit_dom_html_table_section_element_get_align :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    IO CString


dOMHTMLTableSectionElementGetAlign ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLTableSectionElementGetAlign _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_table_section_element_get_align _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_table_section_element_get_align" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_html_table_section_element_get_ch" webkit_dom_html_table_section_element_get_ch :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    IO CString


dOMHTMLTableSectionElementGetCh ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLTableSectionElementGetCh _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_table_section_element_get_ch _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_table_section_element_get_ch" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_html_table_section_element_get_ch_off" webkit_dom_html_table_section_element_get_ch_off :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    IO CString


dOMHTMLTableSectionElementGetChOff ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLTableSectionElementGetChOff _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_table_section_element_get_ch_off _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_table_section_element_get_ch_off" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_html_table_section_element_get_rows" webkit_dom_html_table_section_element_get_rows :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    IO (Ptr DOMHTMLCollection)


dOMHTMLTableSectionElementGetRows ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    m DOMHTMLCollection
dOMHTMLTableSectionElementGetRows _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_table_section_element_get_rows _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_table_section_element_get_rows" result
    result' <- (wrapObject DOMHTMLCollection) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_html_table_section_element_get_v_align" webkit_dom_html_table_section_element_get_v_align :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    IO CString


dOMHTMLTableSectionElementGetVAlign ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLTableSectionElementGetVAlign _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_table_section_element_get_v_align _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_table_section_element_get_v_align" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLTableSectionElement::insert_row
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLTableSectionElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLTableSectionElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLElement"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_html_table_section_element_insert_row" webkit_dom_html_table_section_element_insert_row :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    Int64 ->                                -- index : TBasicType TInt64
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMHTMLElement)


dOMHTMLTableSectionElementInsertRow ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- index
    m DOMHTMLElement
dOMHTMLTableSectionElementInsertRow _obj index = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    onException (do
        result <- propagateGError $ webkit_dom_html_table_section_element_insert_row _obj' index
        checkUnexpectedReturnNULL "webkit_dom_html_table_section_element_insert_row" result
        result' <- (newObject DOMHTMLElement) result
        touchManagedPtr _obj
        return result'
     ) (do
        return ()
     )

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

foreign import ccall "webkit_dom_html_table_section_element_set_align" webkit_dom_html_table_section_element_set_align :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLTableSectionElementSetAlign ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLTableSectionElementSetAlign _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_table_section_element_set_align _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

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

foreign import ccall "webkit_dom_html_table_section_element_set_ch" webkit_dom_html_table_section_element_set_ch :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLTableSectionElementSetCh ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLTableSectionElementSetCh _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_table_section_element_set_ch _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

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

foreign import ccall "webkit_dom_html_table_section_element_set_ch_off" webkit_dom_html_table_section_element_set_ch_off :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLTableSectionElementSetChOff ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLTableSectionElementSetChOff _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_table_section_element_set_ch_off _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

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

foreign import ccall "webkit_dom_html_table_section_element_set_v_align" webkit_dom_html_table_section_element_set_v_align :: 
    Ptr DOMHTMLTableSectionElement ->       -- _obj : TInterface "WebKit" "DOMHTMLTableSectionElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLTableSectionElementSetVAlign ::
    (MonadIO m, DOMHTMLTableSectionElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLTableSectionElementSetVAlign _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_table_section_element_set_v_align _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()