{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Objects.OptionMenu
(
OptionMenu(..) ,
IsOptionMenu ,
toOptionMenu ,
noOptionMenu ,
#if defined(ENABLE_OVERLOADING)
ResolveOptionMenuMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
OptionMenuActivateItemMethodInfo ,
#endif
optionMenuActivateItem ,
#if defined(ENABLE_OVERLOADING)
OptionMenuCloseMethodInfo ,
#endif
optionMenuClose ,
#if defined(ENABLE_OVERLOADING)
OptionMenuGetItemMethodInfo ,
#endif
optionMenuGetItem ,
#if defined(ENABLE_OVERLOADING)
OptionMenuGetNItemsMethodInfo ,
#endif
optionMenuGetNItems ,
#if defined(ENABLE_OVERLOADING)
OptionMenuSelectItemMethodInfo ,
#endif
optionMenuSelectItem ,
C_OptionMenuCloseCallback ,
OptionMenuCloseCallback ,
#if defined(ENABLE_OVERLOADING)
OptionMenuCloseSignalInfo ,
#endif
afterOptionMenuClose ,
genClosure_OptionMenuClose ,
mk_OptionMenuCloseCallback ,
noOptionMenuCloseCallback ,
onOptionMenuClose ,
wrap_OptionMenuCloseCallback ,
) 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
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2.Structs.OptionMenuItem as WebKit2.OptionMenuItem
newtype = (ManagedPtr OptionMenu)
deriving (OptionMenu -> OptionMenu -> Bool
(OptionMenu -> OptionMenu -> Bool)
-> (OptionMenu -> OptionMenu -> Bool) -> Eq OptionMenu
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OptionMenu -> OptionMenu -> Bool
$c/= :: OptionMenu -> OptionMenu -> Bool
== :: OptionMenu -> OptionMenu -> Bool
$c== :: OptionMenu -> OptionMenu -> Bool
Eq)
foreign import ccall "webkit_option_menu_get_type"
:: IO GType
instance GObject OptionMenu where
gobjectType :: IO GType
gobjectType = IO GType
c_webkit_option_menu_get_type
instance B.GValue.IsGValue OptionMenu where
toGValue :: OptionMenu -> IO GValue
toGValue o :: OptionMenu
o = do
GType
gtype <- IO GType
c_webkit_option_menu_get_type
OptionMenu -> (Ptr OptionMenu -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr OptionMenu
o (GType
-> (GValue -> Ptr OptionMenu -> IO ())
-> Ptr OptionMenu
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr OptionMenu -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO OptionMenu
fromGValue gv :: GValue
gv = do
Ptr OptionMenu
ptr <- GValue -> IO (Ptr OptionMenu)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr OptionMenu)
(ManagedPtr OptionMenu -> OptionMenu)
-> Ptr OptionMenu -> IO OptionMenu
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr OptionMenu -> OptionMenu
OptionMenu Ptr OptionMenu
ptr
class (GObject o, O.IsDescendantOf OptionMenu o) => o
instance (GObject o, O.IsDescendantOf OptionMenu o) => IsOptionMenu o
instance O.HasParentTypes OptionMenu
type instance O.ParentTypes OptionMenu = '[GObject.Object.Object]
toOptionMenu :: (MonadIO m, IsOptionMenu o) => o -> m OptionMenu
= IO OptionMenu -> m OptionMenu
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO OptionMenu -> m OptionMenu)
-> (o -> IO OptionMenu) -> o -> m OptionMenu
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr OptionMenu -> OptionMenu) -> o -> IO OptionMenu
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr OptionMenu -> OptionMenu
OptionMenu
noOptionMenu :: Maybe OptionMenu
= Maybe OptionMenu
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveOptionMenuMethod (t :: Symbol) (o :: *) :: * where
ResolveOptionMenuMethod "activateItem" o = OptionMenuActivateItemMethodInfo
ResolveOptionMenuMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveOptionMenuMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveOptionMenuMethod "close" o = OptionMenuCloseMethodInfo
ResolveOptionMenuMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveOptionMenuMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveOptionMenuMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveOptionMenuMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveOptionMenuMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveOptionMenuMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveOptionMenuMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveOptionMenuMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveOptionMenuMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveOptionMenuMethod "selectItem" o = OptionMenuSelectItemMethodInfo
ResolveOptionMenuMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveOptionMenuMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveOptionMenuMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveOptionMenuMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveOptionMenuMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveOptionMenuMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveOptionMenuMethod "getItem" o = OptionMenuGetItemMethodInfo
ResolveOptionMenuMethod "getNItems" o = OptionMenuGetNItemsMethodInfo
ResolveOptionMenuMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveOptionMenuMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveOptionMenuMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveOptionMenuMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveOptionMenuMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveOptionMenuMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveOptionMenuMethod t OptionMenu, O.MethodInfo info OptionMenu p) => OL.IsLabel t (OptionMenu -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type =
IO ()
noOptionMenuCloseCallback :: Maybe OptionMenuCloseCallback
= Maybe (IO ())
forall a. Maybe a
Nothing
type =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
:: C_OptionMenuCloseCallback -> IO (FunPtr C_OptionMenuCloseCallback)
genClosure_OptionMenuClose :: MonadIO m => OptionMenuCloseCallback -> m (GClosure C_OptionMenuCloseCallback)
cb :: IO ()
cb = IO (GClosure C_OptionMenuCloseCallback)
-> m (GClosure C_OptionMenuCloseCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_OptionMenuCloseCallback)
-> m (GClosure C_OptionMenuCloseCallback))
-> IO (GClosure C_OptionMenuCloseCallback)
-> m (GClosure C_OptionMenuCloseCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_OptionMenuCloseCallback
cb' = IO () -> C_OptionMenuCloseCallback
wrap_OptionMenuCloseCallback IO ()
cb
C_OptionMenuCloseCallback -> IO (FunPtr C_OptionMenuCloseCallback)
mk_OptionMenuCloseCallback C_OptionMenuCloseCallback
cb' IO (FunPtr C_OptionMenuCloseCallback)
-> (FunPtr C_OptionMenuCloseCallback
-> IO (GClosure C_OptionMenuCloseCallback))
-> IO (GClosure C_OptionMenuCloseCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_OptionMenuCloseCallback
-> IO (GClosure C_OptionMenuCloseCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_OptionMenuCloseCallback ::
OptionMenuCloseCallback ->
C_OptionMenuCloseCallback
_cb :: IO ()
_cb _ _ = do
IO ()
_cb
onOptionMenuClose :: (IsOptionMenu a, MonadIO m) => a -> OptionMenuCloseCallback -> m SignalHandlerId
obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_OptionMenuCloseCallback
cb' = IO () -> C_OptionMenuCloseCallback
wrap_OptionMenuCloseCallback IO ()
cb
FunPtr C_OptionMenuCloseCallback
cb'' <- C_OptionMenuCloseCallback -> IO (FunPtr C_OptionMenuCloseCallback)
mk_OptionMenuCloseCallback C_OptionMenuCloseCallback
cb'
a
-> Text
-> FunPtr C_OptionMenuCloseCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "close" FunPtr C_OptionMenuCloseCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterOptionMenuClose :: (IsOptionMenu a, MonadIO m) => a -> OptionMenuCloseCallback -> m SignalHandlerId
obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_OptionMenuCloseCallback
cb' = IO () -> C_OptionMenuCloseCallback
wrap_OptionMenuCloseCallback IO ()
cb
FunPtr C_OptionMenuCloseCallback
cb'' <- C_OptionMenuCloseCallback -> IO (FunPtr C_OptionMenuCloseCallback)
mk_OptionMenuCloseCallback C_OptionMenuCloseCallback
cb'
a
-> Text
-> FunPtr C_OptionMenuCloseCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "close" FunPtr C_OptionMenuCloseCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data OptionMenuCloseSignalInfo
instance SignalInfo OptionMenuCloseSignalInfo where
type HaskellCallbackType OptionMenuCloseSignalInfo = OptionMenuCloseCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_OptionMenuCloseCallback cb
cb'' <- mk_OptionMenuCloseCallback cb'
connectSignalFunPtr obj "close" cb'' connectMode detail
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList OptionMenu
type instance O.AttributeList OptionMenu = OptionMenuAttributeList
type OptionMenuAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList OptionMenu = OptionMenuSignalList
type OptionMenuSignalList = ('[ '("close", OptionMenuCloseSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_option_menu_activate_item" ::
Ptr OptionMenu ->
Word32 ->
IO ()
optionMenuActivateItem ::
(B.CallStack.HasCallStack, MonadIO m, IsOptionMenu a) =>
a
-> Word32
-> m ()
menu :: a
menu index :: Word32
index = 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 OptionMenu
menu' <- a -> IO (Ptr OptionMenu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
Ptr OptionMenu -> Word32 -> IO ()
webkit_option_menu_activate_item Ptr OptionMenu
menu' Word32
index
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
menu
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data OptionMenuActivateItemMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsOptionMenu a) => O.MethodInfo OptionMenuActivateItemMethodInfo a signature where
overloadedMethod = optionMenuActivateItem
#endif
foreign import ccall "webkit_option_menu_close" ::
Ptr OptionMenu ->
IO ()
optionMenuClose ::
(B.CallStack.HasCallStack, MonadIO m, IsOptionMenu a) =>
a
-> m ()
menu :: a
menu = 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 OptionMenu
menu' <- a -> IO (Ptr OptionMenu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
Ptr OptionMenu -> IO ()
webkit_option_menu_close Ptr OptionMenu
menu'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
menu
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data OptionMenuCloseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsOptionMenu a) => O.MethodInfo OptionMenuCloseMethodInfo a signature where
overloadedMethod = optionMenuClose
#endif
foreign import ccall "webkit_option_menu_get_item" ::
Ptr OptionMenu ->
Word32 ->
IO (Ptr WebKit2.OptionMenuItem.OptionMenuItem)
optionMenuGetItem ::
(B.CallStack.HasCallStack, MonadIO m, IsOptionMenu a) =>
a
-> Word32
-> m (Maybe WebKit2.OptionMenuItem.OptionMenuItem)
menu :: a
menu index :: Word32
index = IO (Maybe OptionMenuItem) -> m (Maybe OptionMenuItem)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe OptionMenuItem) -> m (Maybe OptionMenuItem))
-> IO (Maybe OptionMenuItem) -> m (Maybe OptionMenuItem)
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenu
menu' <- a -> IO (Ptr OptionMenu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
Ptr OptionMenuItem
result <- Ptr OptionMenu -> Word32 -> IO (Ptr OptionMenuItem)
webkit_option_menu_get_item Ptr OptionMenu
menu' Word32
index
Maybe OptionMenuItem
maybeResult <- Ptr OptionMenuItem
-> (Ptr OptionMenuItem -> IO OptionMenuItem)
-> IO (Maybe OptionMenuItem)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr OptionMenuItem
result ((Ptr OptionMenuItem -> IO OptionMenuItem)
-> IO (Maybe OptionMenuItem))
-> (Ptr OptionMenuItem -> IO OptionMenuItem)
-> IO (Maybe OptionMenuItem)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr OptionMenuItem
result' -> do
OptionMenuItem
result'' <- ((ManagedPtr OptionMenuItem -> OptionMenuItem)
-> Ptr OptionMenuItem -> IO OptionMenuItem
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr OptionMenuItem -> OptionMenuItem
WebKit2.OptionMenuItem.OptionMenuItem) Ptr OptionMenuItem
result'
OptionMenuItem -> IO OptionMenuItem
forall (m :: * -> *) a. Monad m => a -> m a
return OptionMenuItem
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
menu
Maybe OptionMenuItem -> IO (Maybe OptionMenuItem)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe OptionMenuItem
maybeResult
#if defined(ENABLE_OVERLOADING)
data OptionMenuGetItemMethodInfo
instance (signature ~ (Word32 -> m (Maybe WebKit2.OptionMenuItem.OptionMenuItem)), MonadIO m, IsOptionMenu a) => O.MethodInfo OptionMenuGetItemMethodInfo a signature where
overloadedMethod = optionMenuGetItem
#endif
foreign import ccall "webkit_option_menu_get_n_items" ::
Ptr OptionMenu ->
IO Word32
optionMenuGetNItems ::
(B.CallStack.HasCallStack, MonadIO m, IsOptionMenu a) =>
a
-> m Word32
menu :: a
menu = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr OptionMenu
menu' <- a -> IO (Ptr OptionMenu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
Word32
result <- Ptr OptionMenu -> IO Word32
webkit_option_menu_get_n_items Ptr OptionMenu
menu'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
menu
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data OptionMenuGetNItemsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsOptionMenu a) => O.MethodInfo OptionMenuGetNItemsMethodInfo a signature where
overloadedMethod = optionMenuGetNItems
#endif
foreign import ccall "webkit_option_menu_select_item" ::
Ptr OptionMenu ->
Word32 ->
IO ()
optionMenuSelectItem ::
(B.CallStack.HasCallStack, MonadIO m, IsOptionMenu a) =>
a
-> Word32
-> m ()
menu :: a
menu index :: Word32
index = 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 OptionMenu
menu' <- a -> IO (Ptr OptionMenu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
Ptr OptionMenu -> Word32 -> IO ()
webkit_option_menu_select_item Ptr OptionMenu
menu' Word32
index
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
menu
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data OptionMenuSelectItemMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsOptionMenu a) => O.MethodInfo OptionMenuSelectItemMethodInfo a signature where
overloadedMethod = optionMenuSelectItem
#endif