{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.Menu
(
Menu(..) ,
IsMenu ,
toMenu ,
#if defined(ENABLE_OVERLOADING)
ResolveMenuMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
MenuAppendMethodInfo ,
#endif
menuAppend ,
#if defined(ENABLE_OVERLOADING)
MenuAppendItemMethodInfo ,
#endif
menuAppendItem ,
#if defined(ENABLE_OVERLOADING)
MenuAppendSectionMethodInfo ,
#endif
menuAppendSection ,
#if defined(ENABLE_OVERLOADING)
MenuAppendSubmenuMethodInfo ,
#endif
menuAppendSubmenu ,
#if defined(ENABLE_OVERLOADING)
MenuFreezeMethodInfo ,
#endif
menuFreeze ,
#if defined(ENABLE_OVERLOADING)
MenuInsertMethodInfo ,
#endif
menuInsert ,
#if defined(ENABLE_OVERLOADING)
MenuInsertItemMethodInfo ,
#endif
menuInsertItem ,
#if defined(ENABLE_OVERLOADING)
MenuInsertSectionMethodInfo ,
#endif
menuInsertSection ,
#if defined(ENABLE_OVERLOADING)
MenuInsertSubmenuMethodInfo ,
#endif
menuInsertSubmenu ,
menuNew ,
#if defined(ENABLE_OVERLOADING)
MenuPrependMethodInfo ,
#endif
menuPrepend ,
#if defined(ENABLE_OVERLOADING)
MenuPrependItemMethodInfo ,
#endif
menuPrependItem ,
#if defined(ENABLE_OVERLOADING)
MenuPrependSectionMethodInfo ,
#endif
menuPrependSection ,
#if defined(ENABLE_OVERLOADING)
MenuPrependSubmenuMethodInfo ,
#endif
menuPrependSubmenu ,
#if defined(ENABLE_OVERLOADING)
MenuRemoveMethodInfo ,
#endif
menuRemove ,
#if defined(ENABLE_OVERLOADING)
MenuRemoveAllMethodInfo ,
#endif
menuRemoveAll ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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 Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Interfaces.Icon as Gio.Icon
import {-# SOURCE #-} qualified GI.Gio.Objects.MenuAttributeIter as Gio.MenuAttributeIter
import {-# SOURCE #-} qualified GI.Gio.Objects.MenuItem as Gio.MenuItem
import {-# SOURCE #-} qualified GI.Gio.Objects.MenuLinkIter as Gio.MenuLinkIter
import {-# SOURCE #-} qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Objects.MenuItem as Gio.MenuItem
import {-# SOURCE #-} qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
#endif
newtype = (SP.ManagedPtr Menu)
deriving (Menu -> Menu -> Bool
(Menu -> Menu -> Bool) -> (Menu -> Menu -> Bool) -> Eq Menu
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Menu -> Menu -> Bool
== :: Menu -> Menu -> Bool
$c/= :: Menu -> Menu -> Bool
/= :: Menu -> Menu -> Bool
Eq)
instance SP.ManagedPtrNewtype Menu where
toManagedPtr :: Menu -> ManagedPtr Menu
toManagedPtr (Menu ManagedPtr Menu
p) = ManagedPtr Menu
p
foreign import ccall "g_menu_get_type"
:: IO B.Types.GType
instance B.Types.TypedObject Menu where
glibType :: IO GType
glibType = IO GType
c_g_menu_get_type
instance B.Types.GObject Menu
class (SP.GObject o, O.IsDescendantOf Menu o) => o
instance (SP.GObject o, O.IsDescendantOf Menu o) => IsMenu o
instance O.HasParentTypes Menu
type instance O.ParentTypes Menu = '[Gio.MenuModel.MenuModel, GObject.Object.Object]
toMenu :: (MIO.MonadIO m, IsMenu o) => o -> m Menu
= IO Menu -> m Menu
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Menu -> m Menu) -> (o -> IO Menu) -> o -> m Menu
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Menu -> Menu) -> o -> IO Menu
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Menu -> Menu
Menu
instance B.GValue.IsGValue (Maybe Menu) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_menu_get_type
gvalueSet_ :: Ptr GValue -> Maybe Menu -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Menu
P.Nothing = Ptr GValue -> Ptr Menu -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Menu
forall a. Ptr a
FP.nullPtr :: FP.Ptr Menu)
gvalueSet_ Ptr GValue
gv (P.Just Menu
obj) = Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Menu
obj (Ptr GValue -> Ptr Menu -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Menu)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr Menu)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Menu)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject Menu ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family (t :: Symbol) (o :: DK.Type) :: DK.Type where
"append" o = MenuAppendMethodInfo
"appendItem" o = MenuAppendItemMethodInfo
"appendSection" o = MenuAppendSectionMethodInfo
"appendSubmenu" o = MenuAppendSubmenuMethodInfo
"bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
"bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
"forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
"freeze" o = MenuFreezeMethodInfo
"freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
"getv" o = GObject.Object.ObjectGetvMethodInfo
"insert" o = MenuInsertMethodInfo
"insertItem" o = MenuInsertItemMethodInfo
"insertSection" o = MenuInsertSectionMethodInfo
"insertSubmenu" o = MenuInsertSubmenuMethodInfo
"isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
"isMutable" o = Gio.MenuModel.MenuModelIsMutableMethodInfo
"itemsChanged" o = Gio.MenuModel.MenuModelItemsChangedMethodInfo
"iterateItemAttributes" o = Gio.MenuModel.MenuModelIterateItemAttributesMethodInfo
"iterateItemLinks" o = Gio.MenuModel.MenuModelIterateItemLinksMethodInfo
"notify" o = GObject.Object.ObjectNotifyMethodInfo
"notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
"prepend" o = MenuPrependMethodInfo
"prependItem" o = MenuPrependItemMethodInfo
"prependSection" o = MenuPrependSectionMethodInfo
"prependSubmenu" o = MenuPrependSubmenuMethodInfo
"ref" o = GObject.Object.ObjectRefMethodInfo
"refSink" o = GObject.Object.ObjectRefSinkMethodInfo
"remove" o = MenuRemoveMethodInfo
"removeAll" o = MenuRemoveAllMethodInfo
"runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
"stealData" o = GObject.Object.ObjectStealDataMethodInfo
"stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
"thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
"unref" o = GObject.Object.ObjectUnrefMethodInfo
"watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
"getData" o = GObject.Object.ObjectGetDataMethodInfo
"getItemAttributeValue" o = Gio.MenuModel.MenuModelGetItemAttributeValueMethodInfo
"getItemLink" o = Gio.MenuModel.MenuModelGetItemLinkMethodInfo
"getNItems" o = Gio.MenuModel.MenuModelGetNItemsMethodInfo
"getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
"getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
"setData" o = GObject.Object.ObjectSetDataMethodInfo
"setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
"setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
l o = O.MethodResolutionFailed l o
instance (info ~ ResolveMenuMethod t Menu, O.OverloadedMethod info Menu p) => OL.IsLabel t (Menu -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel :: Menu -> p
fromLabel = forall {k} (i :: k) o s. OverloadedMethod i o s => o -> s
forall i o s. OverloadedMethod i o s => o -> s
O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveMenuMethod t Menu, O.OverloadedMethod info Menu p, R.HasField t Menu p) => R.HasField t Menu p where
getField :: Menu -> p
getField = forall {k} (i :: k) o s. OverloadedMethod i o s => o -> s
forall i o s. OverloadedMethod i o s => o -> s
O.overloadedMethod @info
#endif
instance (info ~ ResolveMenuMethod t Menu, O.OverloadedMethodInfo info Menu) => OL.IsLabel t (O.MethodProxy info Menu) where
#if MIN_VERSION_base(4,10,0)
fromLabel :: MethodProxy info Menu
fromLabel = MethodProxy info Menu
forall info obj. MethodProxy info obj
O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Menu
type instance O.AttributeList Menu = MenuAttributeList
type = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Menu = MenuSignalList
type = ('[ '("itemsChanged", Gio.MenuModel.MenuModelItemsChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_menu_new" ::
IO (Ptr Menu)
menuNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Menu
= IO Menu -> m Menu
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Menu -> m Menu) -> IO Menu -> m Menu
forall a b. (a -> b) -> a -> b
$ do
result <- IO (Ptr Menu)
g_menu_new
checkUnexpectedReturnNULL "menuNew" result
result' <- (wrapObject Menu) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_menu_append" ::
Ptr Menu ->
CString ->
CString ->
IO ()
menuAppend ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
a
-> Maybe (T.Text)
-> Maybe (T.Text)
-> m ()
a
menu Maybe Text
label Maybe Text
detailedAction = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
maybeDetailedAction <- case detailedAction of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jDetailedAction -> do
jDetailedAction' <- Text -> IO (Ptr CChar)
textToCString Text
jDetailedAction
return jDetailedAction'
g_menu_append menu' maybeLabel maybeDetailedAction
touchManagedPtr menu
freeMem maybeLabel
freeMem maybeDetailedAction
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m, IsMenu a) => O.OverloadedMethod MenuAppendMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> Maybe Text -> m ()
forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMenu a) =>
a -> Maybe Text -> Maybe Text -> m ()
menuAppend
instance O.OverloadedMethodInfo MenuAppendMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuAppend",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuAppend"
})
#endif
foreign import ccall "g_menu_append_item" ::
Ptr Menu ->
Ptr Gio.MenuItem.MenuItem ->
IO ()
menuAppendItem ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuItem.IsMenuItem b) =>
a
-> b
-> m ()
a
menu b
item = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
item' <- unsafeManagedPtrCastPtr item
g_menu_append_item menu' item'
touchManagedPtr menu
touchManagedPtr item
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (b -> m ()), MonadIO m, IsMenu a, Gio.MenuItem.IsMenuItem b) => O.OverloadedMethod MenuAppendItemMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuItem b) =>
a -> b -> m ()
menuAppendItem
instance O.OverloadedMethodInfo MenuAppendItemMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuAppendItem",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuAppendItem"
})
#endif
foreign import ccall "g_menu_append_section" ::
Ptr Menu ->
CString ->
Ptr Gio.MenuModel.MenuModel ->
IO ()
menuAppendSection ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) =>
a
-> Maybe (T.Text)
-> b
-> m ()
a
menu Maybe Text
label b
section = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
section' <- unsafeManagedPtrCastPtr section
g_menu_append_section menu' maybeLabel section'
touchManagedPtr menu
touchManagedPtr section
freeMem maybeLabel
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Maybe (T.Text) -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) => O.OverloadedMethod MenuAppendSectionMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuModel b) =>
a -> Maybe Text -> b -> m ()
menuAppendSection
instance O.OverloadedMethodInfo MenuAppendSectionMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuAppendSection",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuAppendSection"
})
#endif
foreign import ccall "g_menu_append_submenu" ::
Ptr Menu ->
CString ->
Ptr Gio.MenuModel.MenuModel ->
IO ()
menuAppendSubmenu ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) =>
a
-> Maybe (T.Text)
-> b
-> m ()
a
menu Maybe Text
label b
submenu = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
submenu' <- unsafeManagedPtrCastPtr submenu
g_menu_append_submenu menu' maybeLabel submenu'
touchManagedPtr menu
touchManagedPtr submenu
freeMem maybeLabel
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Maybe (T.Text) -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) => O.OverloadedMethod MenuAppendSubmenuMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuModel b) =>
a -> Maybe Text -> b -> m ()
menuAppendSubmenu
instance O.OverloadedMethodInfo MenuAppendSubmenuMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuAppendSubmenu",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuAppendSubmenu"
})
#endif
foreign import ccall "g_menu_freeze" ::
Ptr Menu ->
IO ()
menuFreeze ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
a
-> m ()
a
menu = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
g_menu_freeze menu'
touchManagedPtr menu
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (m ()), MonadIO m, IsMenu a) => O.OverloadedMethod MenuFreezeMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> m ()
forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMenu a) =>
a -> m ()
menuFreeze
instance O.OverloadedMethodInfo MenuFreezeMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuFreeze",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuFreeze"
})
#endif
foreign import ccall "g_menu_insert" ::
Ptr Menu ->
Int32 ->
CString ->
CString ->
IO ()
menuInsert ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
a
-> Int32
-> Maybe (T.Text)
-> Maybe (T.Text)
-> m ()
a
menu Int32
position Maybe Text
label Maybe Text
detailedAction = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
maybeDetailedAction <- case detailedAction of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jDetailedAction -> do
jDetailedAction' <- Text -> IO (Ptr CChar)
textToCString Text
jDetailedAction
return jDetailedAction'
g_menu_insert menu' position maybeLabel maybeDetailedAction
touchManagedPtr menu
freeMem maybeLabel
freeMem maybeDetailedAction
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Int32 -> Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m, IsMenu a) => O.OverloadedMethod MenuInsertMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Int32 -> Maybe Text -> Maybe Text -> m ()
forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMenu a) =>
a -> Int32 -> Maybe Text -> Maybe Text -> m ()
menuInsert
instance O.OverloadedMethodInfo MenuInsertMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuInsert",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuInsert"
})
#endif
foreign import ccall "g_menu_insert_item" ::
Ptr Menu ->
Int32 ->
Ptr Gio.MenuItem.MenuItem ->
IO ()
menuInsertItem ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuItem.IsMenuItem b) =>
a
-> Int32
-> b
-> m ()
a
menu Int32
position b
item = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
item' <- unsafeManagedPtrCastPtr item
g_menu_insert_item menu' position item'
touchManagedPtr menu
touchManagedPtr item
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Int32 -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuItem.IsMenuItem b) => O.OverloadedMethod MenuInsertItemMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Int32 -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuItem b) =>
a -> Int32 -> b -> m ()
menuInsertItem
instance O.OverloadedMethodInfo MenuInsertItemMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuInsertItem",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuInsertItem"
})
#endif
foreign import ccall "g_menu_insert_section" ::
Ptr Menu ->
Int32 ->
CString ->
Ptr Gio.MenuModel.MenuModel ->
IO ()
menuInsertSection ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) =>
a
-> Int32
-> Maybe (T.Text)
-> b
-> m ()
a
menu Int32
position Maybe Text
label b
section = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
section' <- unsafeManagedPtrCastPtr section
g_menu_insert_section menu' position maybeLabel section'
touchManagedPtr menu
touchManagedPtr section
freeMem maybeLabel
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Int32 -> Maybe (T.Text) -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) => O.OverloadedMethod MenuInsertSectionMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Int32 -> Maybe Text -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuModel b) =>
a -> Int32 -> Maybe Text -> b -> m ()
menuInsertSection
instance O.OverloadedMethodInfo MenuInsertSectionMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuInsertSection",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuInsertSection"
})
#endif
foreign import ccall "g_menu_insert_submenu" ::
Ptr Menu ->
Int32 ->
CString ->
Ptr Gio.MenuModel.MenuModel ->
IO ()
menuInsertSubmenu ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) =>
a
-> Int32
-> Maybe (T.Text)
-> b
-> m ()
a
menu Int32
position Maybe Text
label b
submenu = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
submenu' <- unsafeManagedPtrCastPtr submenu
g_menu_insert_submenu menu' position maybeLabel submenu'
touchManagedPtr menu
touchManagedPtr submenu
freeMem maybeLabel
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Int32 -> Maybe (T.Text) -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) => O.OverloadedMethod MenuInsertSubmenuMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Int32 -> Maybe Text -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuModel b) =>
a -> Int32 -> Maybe Text -> b -> m ()
menuInsertSubmenu
instance O.OverloadedMethodInfo MenuInsertSubmenuMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuInsertSubmenu",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuInsertSubmenu"
})
#endif
foreign import ccall "g_menu_prepend" ::
Ptr Menu ->
CString ->
CString ->
IO ()
menuPrepend ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
a
-> Maybe (T.Text)
-> Maybe (T.Text)
-> m ()
a
menu Maybe Text
label Maybe Text
detailedAction = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
maybeDetailedAction <- case detailedAction of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jDetailedAction -> do
jDetailedAction' <- Text -> IO (Ptr CChar)
textToCString Text
jDetailedAction
return jDetailedAction'
g_menu_prepend menu' maybeLabel maybeDetailedAction
touchManagedPtr menu
freeMem maybeLabel
freeMem maybeDetailedAction
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m, IsMenu a) => O.OverloadedMethod MenuPrependMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> Maybe Text -> m ()
forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMenu a) =>
a -> Maybe Text -> Maybe Text -> m ()
menuPrepend
instance O.OverloadedMethodInfo MenuPrependMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuPrepend",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuPrepend"
})
#endif
foreign import ccall "g_menu_prepend_item" ::
Ptr Menu ->
Ptr Gio.MenuItem.MenuItem ->
IO ()
menuPrependItem ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuItem.IsMenuItem b) =>
a
-> b
-> m ()
a
menu b
item = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
item' <- unsafeManagedPtrCastPtr item
g_menu_prepend_item menu' item'
touchManagedPtr menu
touchManagedPtr item
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (b -> m ()), MonadIO m, IsMenu a, Gio.MenuItem.IsMenuItem b) => O.OverloadedMethod MenuPrependItemMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuItem b) =>
a -> b -> m ()
menuPrependItem
instance O.OverloadedMethodInfo MenuPrependItemMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuPrependItem",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuPrependItem"
})
#endif
foreign import ccall "g_menu_prepend_section" ::
Ptr Menu ->
CString ->
Ptr Gio.MenuModel.MenuModel ->
IO ()
menuPrependSection ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) =>
a
-> Maybe (T.Text)
-> b
-> m ()
a
menu Maybe Text
label b
section = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
section' <- unsafeManagedPtrCastPtr section
g_menu_prepend_section menu' maybeLabel section'
touchManagedPtr menu
touchManagedPtr section
freeMem maybeLabel
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Maybe (T.Text) -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) => O.OverloadedMethod MenuPrependSectionMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuModel b) =>
a -> Maybe Text -> b -> m ()
menuPrependSection
instance O.OverloadedMethodInfo MenuPrependSectionMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuPrependSection",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuPrependSection"
})
#endif
foreign import ccall "g_menu_prepend_submenu" ::
Ptr Menu ->
CString ->
Ptr Gio.MenuModel.MenuModel ->
IO ()
menuPrependSubmenu ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) =>
a
-> Maybe (T.Text)
-> b
-> m ()
a
menu Maybe Text
label b
submenu = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
maybeLabel <- case label of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jLabel -> do
jLabel' <- Text -> IO (Ptr CChar)
textToCString Text
jLabel
return jLabel'
submenu' <- unsafeManagedPtrCastPtr submenu
g_menu_prepend_submenu menu' maybeLabel submenu'
touchManagedPtr menu
touchManagedPtr submenu
freeMem maybeLabel
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Maybe (T.Text) -> b -> m ()), MonadIO m, IsMenu a, Gio.MenuModel.IsMenuModel b) => O.OverloadedMethod MenuPrependSubmenuMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> b -> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsMenu a, IsMenuModel b) =>
a -> Maybe Text -> b -> m ()
menuPrependSubmenu
instance O.OverloadedMethodInfo MenuPrependSubmenuMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuPrependSubmenu",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuPrependSubmenu"
})
#endif
foreign import ccall "g_menu_remove" ::
Ptr Menu ->
Int32 ->
IO ()
menuRemove ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
a
-> Int32
-> m ()
a
menu Int32
position = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
g_menu_remove menu' position
touchManagedPtr menu
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (Int32 -> m ()), MonadIO m, IsMenu a) => O.OverloadedMethod MenuRemoveMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Int32 -> m ()
forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMenu a) =>
a -> Int32 -> m ()
menuRemove
instance O.OverloadedMethodInfo MenuRemoveMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuRemove",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuRemove"
})
#endif
foreign import ccall "g_menu_remove_all" ::
Ptr Menu ->
IO ()
menuRemoveAll ::
(B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
a
-> m ()
a
menu = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
menu' <- a -> IO (Ptr Menu)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
menu
g_menu_remove_all menu'
touchManagedPtr menu
return ()
#if defined(ENABLE_OVERLOADING)
data
instance (signature ~ (m ()), MonadIO m, IsMenu a) => O.OverloadedMethod MenuRemoveAllMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> m ()
forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMenu a) =>
a -> m ()
menuRemoveAll
instance O.OverloadedMethodInfo MenuRemoveAllMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Gio.Objects.Menu.menuRemoveAll",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-gio-2.0.38/docs/GI-Gio-Objects-Menu.html#v:menuRemoveAll"
})
#endif