#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Poppler.Structs.ActionOCGState
(
ActionOCGState(..) ,
newZeroActionOCGState ,
noActionOCGState ,
#if ENABLE_OVERLOADING
actionOCGState_stateList ,
#endif
clearActionOCGStateStateList ,
getActionOCGStateStateList ,
setActionOCGStateStateList ,
#if ENABLE_OVERLOADING
actionOCGState_title ,
#endif
clearActionOCGStateTitle ,
getActionOCGStateTitle ,
setActionOCGStateTitle ,
#if ENABLE_OVERLOADING
actionOCGState_type ,
#endif
getActionOCGStateType ,
setActionOCGStateType ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import {-# SOURCE #-} qualified GI.Poppler.Enums as Poppler.Enums
newtype ActionOCGState = ActionOCGState (ManagedPtr ActionOCGState)
instance WrappedPtr ActionOCGState where
wrappedPtrCalloc = callocBytes 24
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr ActionOCGState)
wrappedPtrFree = Just ptr_to_g_free
newZeroActionOCGState :: MonadIO m => m ActionOCGState
newZeroActionOCGState = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionOCGState
instance tag ~ 'AttrSet => Constructible ActionOCGState tag where
new _ attrs = do
o <- newZeroActionOCGState
GI.Attributes.set o attrs
return o
noActionOCGState :: Maybe ActionOCGState
noActionOCGState = Nothing
getActionOCGStateType :: MonadIO m => ActionOCGState -> m Poppler.Enums.ActionType
getActionOCGStateType s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setActionOCGStateType :: MonadIO m => ActionOCGState -> Poppler.Enums.ActionType -> m ()
setActionOCGStateType s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 0) (val' :: CUInt)
#if ENABLE_OVERLOADING
data ActionOCGStateTypeFieldInfo
instance AttrInfo ActionOCGStateTypeFieldInfo where
type AttrAllowedOps ActionOCGStateTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ActionOCGStateTypeFieldInfo = (~) Poppler.Enums.ActionType
type AttrBaseTypeConstraint ActionOCGStateTypeFieldInfo = (~) ActionOCGState
type AttrGetType ActionOCGStateTypeFieldInfo = Poppler.Enums.ActionType
type AttrLabel ActionOCGStateTypeFieldInfo = "type"
type AttrOrigin ActionOCGStateTypeFieldInfo = ActionOCGState
attrGet _ = getActionOCGStateType
attrSet _ = setActionOCGStateType
attrConstruct = undefined
attrClear _ = undefined
actionOCGState_type :: AttrLabelProxy "type"
actionOCGState_type = AttrLabelProxy
#endif
getActionOCGStateTitle :: MonadIO m => ActionOCGState -> m (Maybe T.Text)
getActionOCGStateTitle s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setActionOCGStateTitle :: MonadIO m => ActionOCGState -> CString -> m ()
setActionOCGStateTitle s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: CString)
clearActionOCGStateTitle :: MonadIO m => ActionOCGState -> m ()
clearActionOCGStateTitle s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
#if ENABLE_OVERLOADING
data ActionOCGStateTitleFieldInfo
instance AttrInfo ActionOCGStateTitleFieldInfo where
type AttrAllowedOps ActionOCGStateTitleFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ActionOCGStateTitleFieldInfo = (~) CString
type AttrBaseTypeConstraint ActionOCGStateTitleFieldInfo = (~) ActionOCGState
type AttrGetType ActionOCGStateTitleFieldInfo = Maybe T.Text
type AttrLabel ActionOCGStateTitleFieldInfo = "title"
type AttrOrigin ActionOCGStateTitleFieldInfo = ActionOCGState
attrGet _ = getActionOCGStateTitle
attrSet _ = setActionOCGStateTitle
attrConstruct = undefined
attrClear _ = clearActionOCGStateTitle
actionOCGState_title :: AttrLabelProxy "title"
actionOCGState_title = AttrLabelProxy
#endif
getActionOCGStateStateList :: MonadIO m => ActionOCGState -> m ([Ptr ()])
getActionOCGStateStateList s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO (Ptr (GList (Ptr ())))
val' <- unpackGList val
return val'
setActionOCGStateStateList :: MonadIO m => ActionOCGState -> Ptr (GList (Ptr ())) -> m ()
setActionOCGStateStateList s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: Ptr (GList (Ptr ())))
clearActionOCGStateStateList :: MonadIO m => ActionOCGState -> m ()
clearActionOCGStateStateList s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr (GList (Ptr ())))
#if ENABLE_OVERLOADING
data ActionOCGStateStateListFieldInfo
instance AttrInfo ActionOCGStateStateListFieldInfo where
type AttrAllowedOps ActionOCGStateStateListFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ActionOCGStateStateListFieldInfo = (~) (Ptr (GList (Ptr ())))
type AttrBaseTypeConstraint ActionOCGStateStateListFieldInfo = (~) ActionOCGState
type AttrGetType ActionOCGStateStateListFieldInfo = [Ptr ()]
type AttrLabel ActionOCGStateStateListFieldInfo = "state_list"
type AttrOrigin ActionOCGStateStateListFieldInfo = ActionOCGState
attrGet _ = getActionOCGStateStateList
attrSet _ = setActionOCGStateStateList
attrConstruct = undefined
attrClear _ = clearActionOCGStateStateList
actionOCGState_stateList :: AttrLabelProxy "stateList"
actionOCGState_stateList = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList ActionOCGState
type instance O.AttributeList ActionOCGState = ActionOCGStateAttributeList
type ActionOCGStateAttributeList = ('[ '("type", ActionOCGStateTypeFieldInfo), '("title", ActionOCGStateTitleFieldInfo), '("stateList", ActionOCGStateStateListFieldInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
type family ResolveActionOCGStateMethod (t :: Symbol) (o :: *) :: * where
ResolveActionOCGStateMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveActionOCGStateMethod t ActionOCGState, O.MethodInfo info ActionOCGState p) => OL.IsLabel t (ActionOCGState -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif