gi-webkit2webextension-0.2.12.15: GI/WebKit2WebExtension/Structs/ContextMenu_.hs
{- |
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.Structs.ContextMenu_
(
-- * Exported types
ContextMenu_(..) ,
newZeroContextMenu_ ,
noContextMenu_ ,
-- * Properties
-- ** Parent
contextMenu_ClearParent ,
contextMenu_Parent ,
contextMenu_ReadParent ,
contextMenu_WriteParent ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.WebKit2WebExtension.Types
import GI.WebKit2WebExtension.Callbacks
import qualified GI.GObject as GObject
newtype ContextMenu_ = ContextMenu_ (ForeignPtr ContextMenu_)
instance WrappedPtr ContextMenu_ where
wrappedPtrCalloc = callocBytes 32
wrappedPtrCopy = copyPtr 32
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `ContextMenu_` struct initialized to zero.
newZeroContextMenu_ :: MonadIO m => m ContextMenu_
newZeroContextMenu_ = liftIO $ wrappedPtrCalloc >>= wrapPtr ContextMenu_
instance tag ~ 'AttrSet => Constructible ContextMenu_ tag where
new _ attrs = do
o <- newZeroContextMenu_
GI.Attributes.set o attrs
return o
noContextMenu_ :: Maybe ContextMenu_
noContextMenu_ = Nothing
contextMenu_ReadParent :: MonadIO m => ContextMenu_ -> m (Maybe GObject.Object)
contextMenu_ReadParent s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr GObject.Object)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newObject GObject.Object) val'
return val''
return result
contextMenu_WriteParent :: MonadIO m => ContextMenu_ -> Ptr GObject.Object -> m ()
contextMenu_WriteParent s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr GObject.Object)
contextMenu_ClearParent :: MonadIO m => ContextMenu_ -> m ()
contextMenu_ClearParent s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (nullPtr :: Ptr GObject.Object)
data ContextMenu_ParentFieldInfo
instance AttrInfo ContextMenu_ParentFieldInfo where
type AttrAllowedOps ContextMenu_ParentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ContextMenu_ParentFieldInfo = (~) (Ptr GObject.Object)
type AttrBaseTypeConstraint ContextMenu_ParentFieldInfo = (~) ContextMenu_
type AttrGetType ContextMenu_ParentFieldInfo = Maybe GObject.Object
type AttrLabel ContextMenu_ParentFieldInfo = "parent"
attrGet _ = contextMenu_ReadParent
attrSet _ = contextMenu_WriteParent
attrConstruct = undefined
attrClear _ = contextMenu_ClearParent
contextMenu_Parent :: AttrLabelProxy "parent"
contextMenu_Parent = AttrLabelProxy
type instance AttributeList ContextMenu_ = ContextMenu_AttributeList
type ContextMenu_AttributeList = ('[ '("parent", ContextMenu_ParentFieldInfo)] :: [(Symbol, *)])
type family ResolveContextMenu_Method (t :: Symbol) (o :: *) :: * where
ResolveContextMenu_Method l o = MethodResolutionFailed l o
instance (info ~ ResolveContextMenu_Method t ContextMenu_, MethodInfo info ContextMenu_ p) => IsLabelProxy t (ContextMenu_ -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveContextMenu_Method t ContextMenu_, MethodInfo info ContextMenu_ p) => IsLabel t (ContextMenu_ -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif