{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Structs.OptionMenuItem
(
OptionMenuItem(..) ,
noOptionMenuItem ,
#if defined(ENABLE_OVERLOADING)
ResolveOptionMenuItemMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
OptionMenuItemCopyMethodInfo ,
#endif
optionMenuItemCopy ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemFreeMethodInfo ,
#endif
optionMenuItemFree ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemGetLabelMethodInfo ,
#endif
optionMenuItemGetLabel ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemGetTooltipMethodInfo ,
#endif
optionMenuItemGetTooltip ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemIsEnabledMethodInfo ,
#endif
optionMenuItemIsEnabled ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemIsGroupChildMethodInfo ,
#endif
optionMenuItemIsGroupChild ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemIsGroupLabelMethodInfo ,
#endif
optionMenuItemIsGroupLabel ,
#if defined(ENABLE_OVERLOADING)
OptionMenuItemIsSelectedMethodInfo ,
#endif
optionMenuItemIsSelected ,
) 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.GI.Base.Signals as B.Signals
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
newtype = (ManagedPtr OptionMenuItem)
deriving (OptionMenuItem -> OptionMenuItem -> Bool
(OptionMenuItem -> OptionMenuItem -> Bool)
-> (OptionMenuItem -> OptionMenuItem -> Bool) -> Eq OptionMenuItem
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OptionMenuItem -> OptionMenuItem -> Bool
$c/= :: OptionMenuItem -> OptionMenuItem -> Bool
== :: OptionMenuItem -> OptionMenuItem -> Bool
$c== :: OptionMenuItem -> OptionMenuItem -> Bool
Eq)
foreign import ccall "webkit_option_menu_item_get_type" ::
IO GType
instance BoxedObject OptionMenuItem where
boxedType :: OptionMenuItem -> IO GType
boxedType _ = IO GType
c_webkit_option_menu_item_get_type
instance B.GValue.IsGValue OptionMenuItem where
toGValue :: OptionMenuItem -> IO GValue
toGValue o :: OptionMenuItem
o = do
GType
gtype <- IO GType
c_webkit_option_menu_item_get_type
OptionMenuItem -> (Ptr OptionMenuItem -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr OptionMenuItem
o (GType
-> (GValue -> Ptr OptionMenuItem -> IO ())
-> Ptr OptionMenuItem
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr OptionMenuItem -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO OptionMenuItem
fromGValue gv :: GValue
gv = do
Ptr OptionMenuItem
ptr <- GValue -> IO (Ptr OptionMenuItem)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr OptionMenuItem)
(ManagedPtr OptionMenuItem -> OptionMenuItem)
-> Ptr OptionMenuItem -> IO OptionMenuItem
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr OptionMenuItem -> OptionMenuItem
OptionMenuItem Ptr OptionMenuItem
ptr
noOptionMenuItem :: Maybe OptionMenuItem
= Maybe OptionMenuItem
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList OptionMenuItem
type instance O.AttributeList OptionMenuItem = OptionMenuItemAttributeList
type OptionMenuItemAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_option_menu_item_copy" ::
Ptr OptionMenuItem ->
IO (Ptr OptionMenuItem)
optionMenuItemCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m OptionMenuItem
item :: OptionMenuItem
item = IO OptionMenuItem -> m OptionMenuItem
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO OptionMenuItem -> m OptionMenuItem)
-> IO OptionMenuItem -> m OptionMenuItem
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
Ptr OptionMenuItem
result <- Ptr OptionMenuItem -> IO (Ptr OptionMenuItem)
webkit_option_menu_item_copy Ptr OptionMenuItem
item'
Text -> Ptr OptionMenuItem -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "optionMenuItemCopy" Ptr OptionMenuItem
result
OptionMenuItem
result' <- ((ManagedPtr OptionMenuItem -> OptionMenuItem)
-> Ptr OptionMenuItem -> IO OptionMenuItem
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr OptionMenuItem -> OptionMenuItem
OptionMenuItem) Ptr OptionMenuItem
result
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
OptionMenuItem -> IO OptionMenuItem
forall (m :: * -> *) a. Monad m => a -> m a
return OptionMenuItem
result'
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemCopyMethodInfo
instance (signature ~ (m OptionMenuItem), MonadIO m) => O.MethodInfo OptionMenuItemCopyMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemCopy
#endif
foreign import ccall "webkit_option_menu_item_free" ::
Ptr OptionMenuItem ->
IO ()
optionMenuItemFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m ()
item :: OptionMenuItem
item = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
Ptr OptionMenuItem -> IO ()
webkit_option_menu_item_free Ptr OptionMenuItem
item'
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo OptionMenuItemFreeMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemFree
#endif
foreign import ccall "webkit_option_menu_item_get_label" ::
Ptr OptionMenuItem ->
IO CString
optionMenuItemGetLabel ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m T.Text
item :: OptionMenuItem
item = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
CString
result <- Ptr OptionMenuItem -> IO CString
webkit_option_menu_item_get_label Ptr OptionMenuItem
item'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "optionMenuItemGetLabel" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemGetLabelMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo OptionMenuItemGetLabelMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemGetLabel
#endif
foreign import ccall "webkit_option_menu_item_get_tooltip" ::
Ptr OptionMenuItem ->
IO CString
optionMenuItemGetTooltip ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m (Maybe T.Text)
item :: OptionMenuItem
item = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
CString
result <- Ptr OptionMenuItem -> IO CString
webkit_option_menu_item_get_tooltip Ptr OptionMenuItem
item'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemGetTooltipMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo OptionMenuItemGetTooltipMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemGetTooltip
#endif
foreign import ccall "webkit_option_menu_item_is_enabled" ::
Ptr OptionMenuItem ->
IO CInt
optionMenuItemIsEnabled ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m Bool
item :: OptionMenuItem
item = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
CInt
result <- Ptr OptionMenuItem -> IO CInt
webkit_option_menu_item_is_enabled Ptr OptionMenuItem
item'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemIsEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionMenuItemIsEnabledMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemIsEnabled
#endif
foreign import ccall "webkit_option_menu_item_is_group_child" ::
Ptr OptionMenuItem ->
IO CInt
optionMenuItemIsGroupChild ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m Bool
item :: OptionMenuItem
item = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
CInt
result <- Ptr OptionMenuItem -> IO CInt
webkit_option_menu_item_is_group_child Ptr OptionMenuItem
item'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemIsGroupChildMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionMenuItemIsGroupChildMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemIsGroupChild
#endif
foreign import ccall "webkit_option_menu_item_is_group_label" ::
Ptr OptionMenuItem ->
IO CInt
optionMenuItemIsGroupLabel ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m Bool
item :: OptionMenuItem
item = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
CInt
result <- Ptr OptionMenuItem -> IO CInt
webkit_option_menu_item_is_group_label Ptr OptionMenuItem
item'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemIsGroupLabelMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionMenuItemIsGroupLabelMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemIsGroupLabel
#endif
foreign import ccall "webkit_option_menu_item_is_selected" ::
Ptr OptionMenuItem ->
IO CInt
optionMenuItemIsSelected ::
(B.CallStack.HasCallStack, MonadIO m) =>
OptionMenuItem
-> m Bool
item :: OptionMenuItem
item = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenuItem
item' <- OptionMenuItem -> IO (Ptr OptionMenuItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr OptionMenuItem
item
CInt
result <- Ptr OptionMenuItem -> IO CInt
webkit_option_menu_item_is_selected Ptr OptionMenuItem
item'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
OptionMenuItem -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr OptionMenuItem
item
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data OptionMenuItemIsSelectedMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionMenuItemIsSelectedMethodInfo OptionMenuItem signature where
overloadedMethod = optionMenuItemIsSelected
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveOptionMenuItemMethod (t :: Symbol) (o :: *) :: * where
ResolveOptionMenuItemMethod "copy" o = OptionMenuItemCopyMethodInfo
ResolveOptionMenuItemMethod "free" o = OptionMenuItemFreeMethodInfo
ResolveOptionMenuItemMethod "isEnabled" o = OptionMenuItemIsEnabledMethodInfo
ResolveOptionMenuItemMethod "isGroupChild" o = OptionMenuItemIsGroupChildMethodInfo
ResolveOptionMenuItemMethod "isGroupLabel" o = OptionMenuItemIsGroupLabelMethodInfo
ResolveOptionMenuItemMethod "isSelected" o = OptionMenuItemIsSelectedMethodInfo
ResolveOptionMenuItemMethod "getLabel" o = OptionMenuItemGetLabelMethodInfo
ResolveOptionMenuItemMethod "getTooltip" o = OptionMenuItemGetTooltipMethodInfo
ResolveOptionMenuItemMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveOptionMenuItemMethod t OptionMenuItem, O.MethodInfo info OptionMenuItem p) => OL.IsLabel t (OptionMenuItem -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif