{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.WebKit2.Objects.ContextMenuItem ( -- * Exported types ContextMenuItem(..) , IsContextMenuItem , toContextMenuItem , noContextMenuItem , -- * Methods -- ** getAction #method:getAction# #if ENABLE_OVERLOADING ContextMenuItemGetActionMethodInfo , #endif contextMenuItemGetAction , -- ** getGaction #method:getGaction# #if ENABLE_OVERLOADING ContextMenuItemGetGactionMethodInfo , #endif contextMenuItemGetGaction , -- ** getStockAction #method:getStockAction# #if ENABLE_OVERLOADING ContextMenuItemGetStockActionMethodInfo , #endif contextMenuItemGetStockAction , -- ** getSubmenu #method:getSubmenu# #if ENABLE_OVERLOADING ContextMenuItemGetSubmenuMethodInfo , #endif contextMenuItemGetSubmenu , -- ** isSeparator #method:isSeparator# #if ENABLE_OVERLOADING ContextMenuItemIsSeparatorMethodInfo , #endif contextMenuItemIsSeparator , -- ** new #method:new# contextMenuItemNew , -- ** newFromGaction #method:newFromGaction# contextMenuItemNewFromGaction , -- ** newFromStockAction #method:newFromStockAction# contextMenuItemNewFromStockAction , -- ** newFromStockActionWithLabel #method:newFromStockActionWithLabel# contextMenuItemNewFromStockActionWithLabel, -- ** newSeparator #method:newSeparator# contextMenuItemNewSeparator , -- ** newWithSubmenu #method:newWithSubmenu# contextMenuItemNewWithSubmenu , -- ** setSubmenu #method:setSubmenu# #if ENABLE_OVERLOADING ContextMenuItemSetSubmenuMethodInfo , #endif contextMenuItemSetSubmenu , ) 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 qualified GI.GObject.Objects.Object as GObject.Object import qualified GI.Gio.Interfaces.Action as Gio.Action import qualified GI.Gtk.Objects.Action as Gtk.Action import {-# SOURCE #-} qualified GI.WebKit2.Enums as WebKit2.Enums import {-# SOURCE #-} qualified GI.WebKit2.Objects.ContextMenu as WebKit2.ContextMenu -- | Memory-managed wrapper type. newtype ContextMenuItem = ContextMenuItem (ManagedPtr ContextMenuItem) foreign import ccall "webkit_context_menu_item_get_type" c_webkit_context_menu_item_get_type :: IO GType instance GObject ContextMenuItem where gobjectType = c_webkit_context_menu_item_get_type -- | Type class for types which can be safely cast to `ContextMenuItem`, for instance with `toContextMenuItem`. class (GObject o, O.IsDescendantOf ContextMenuItem o) => IsContextMenuItem o instance (GObject o, O.IsDescendantOf ContextMenuItem o) => IsContextMenuItem o instance O.HasParentTypes ContextMenuItem type instance O.ParentTypes ContextMenuItem = '[GObject.Object.Object] -- | Cast to `ContextMenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toContextMenuItem :: (MonadIO m, IsContextMenuItem o) => o -> m ContextMenuItem toContextMenuItem = liftIO . unsafeCastTo ContextMenuItem -- | A convenience alias for `Nothing` :: `Maybe` `ContextMenuItem`. noContextMenuItem :: Maybe ContextMenuItem noContextMenuItem = Nothing #if ENABLE_OVERLOADING type family ResolveContextMenuItemMethod (t :: Symbol) (o :: *) :: * where ResolveContextMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveContextMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveContextMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveContextMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveContextMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveContextMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveContextMenuItemMethod "isSeparator" o = ContextMenuItemIsSeparatorMethodInfo ResolveContextMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveContextMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveContextMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveContextMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveContextMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveContextMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveContextMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveContextMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveContextMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveContextMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveContextMenuItemMethod "getAction" o = ContextMenuItemGetActionMethodInfo ResolveContextMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveContextMenuItemMethod "getGaction" o = ContextMenuItemGetGactionMethodInfo ResolveContextMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveContextMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveContextMenuItemMethod "getStockAction" o = ContextMenuItemGetStockActionMethodInfo ResolveContextMenuItemMethod "getSubmenu" o = ContextMenuItemGetSubmenuMethodInfo ResolveContextMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveContextMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveContextMenuItemMethod "setSubmenu" o = ContextMenuItemSetSubmenuMethodInfo ResolveContextMenuItemMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveContextMenuItemMethod t ContextMenuItem, O.MethodInfo info ContextMenuItem p) => OL.IsLabel t (ContextMenuItem -> 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 #if ENABLE_OVERLOADING instance O.HasAttributeList ContextMenuItem type instance O.AttributeList ContextMenuItem = ContextMenuItemAttributeList type ContextMenuItemAttributeList = ('[ ] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING #endif #if ENABLE_OVERLOADING type instance O.SignalList ContextMenuItem = ContextMenuItemSignalList type ContextMenuItemSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method ContextMenuItem::new -- method type : Constructor -- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_new" webkit_context_menu_item_new :: Ptr Gtk.Action.Action -> -- action : TInterface (Name {namespace = "Gtk", name = "Action"}) IO (Ptr ContextMenuItem) {-# DEPRECATED contextMenuItemNew ["(Since version 2.18)","Use 'GI.WebKit2.Objects.ContextMenuItem.contextMenuItemNewFromGaction' instead."] #-} {- | Creates a new 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' for the given /@action@/. -} contextMenuItemNew :: (B.CallStack.HasCallStack, MonadIO m, Gtk.Action.IsAction a) => a {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -} -> m ContextMenuItem {- ^ __Returns:__ the newly created 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' object. -} contextMenuItemNew action = liftIO $ do action' <- unsafeManagedPtrCastPtr action result <- webkit_context_menu_item_new action' checkUnexpectedReturnNULL "contextMenuItemNew" result result' <- (newObject ContextMenuItem) result touchManagedPtr action return result' #if ENABLE_OVERLOADING #endif -- method ContextMenuItem::new_from_gaction -- method type : Constructor -- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gio", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item label text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GVariant to use as the action target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_new_from_gaction" webkit_context_menu_item_new_from_gaction :: Ptr Gio.Action.Action -> -- action : TInterface (Name {namespace = "Gio", name = "Action"}) CString -> -- label : TBasicType TUTF8 Ptr GVariant -> -- target : TVariant IO (Ptr ContextMenuItem) {- | Creates a new 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' for the given /@action@/ and /@label@/. On activation /@target@/ will be passed as parameter to the callback. /Since: 2.18/ -} contextMenuItemNewFromGaction :: (B.CallStack.HasCallStack, MonadIO m, Gio.Action.IsAction a) => a {- ^ /@action@/: a 'GI.Gio.Interfaces.Action.Action' -} -> T.Text {- ^ /@label@/: the menu item label text -} -> Maybe (GVariant) {- ^ /@target@/: a 'GVariant' to use as the action target -} -> m ContextMenuItem {- ^ __Returns:__ the newly created 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' object. -} contextMenuItemNewFromGaction action label target = liftIO $ do action' <- unsafeManagedPtrCastPtr action label' <- textToCString label maybeTarget <- case target of Nothing -> return nullPtr Just jTarget -> do jTarget' <- unsafeManagedPtrGetPtr jTarget return jTarget' result <- webkit_context_menu_item_new_from_gaction action' label' maybeTarget checkUnexpectedReturnNULL "contextMenuItemNewFromGaction" result result' <- (newObject ContextMenuItem) result touchManagedPtr action whenJust target touchManagedPtr freeMem label' return result' #if ENABLE_OVERLOADING #endif -- method ContextMenuItem::new_from_stock_action -- method type : Constructor -- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuAction stock action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_new_from_stock_action" webkit_context_menu_item_new_from_stock_action :: CUInt -> -- action : TInterface (Name {namespace = "WebKit2", name = "ContextMenuAction"}) IO (Ptr ContextMenuItem) {- | Creates a new 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' for the given stock action. Stock actions are handled automatically by WebKit so that, for example, when a menu item created with a 'GI.WebKit2.Enums.ContextMenuActionStop' is activated the action associated will be handled by WebKit and the current load operation will be stopped. You can get the 'GI.Gtk.Objects.Action.Action' of a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' created with a 'GI.WebKit2.Enums.ContextMenuAction' with 'GI.WebKit2.Objects.ContextMenuItem.contextMenuItemGetAction' and connect to 'GI.Gtk.Objects.Action.Action'::@/activate/@ signal to be notified when the item is activated. But you can\'t prevent the associated action from being performed. -} contextMenuItemNewFromStockAction :: (B.CallStack.HasCallStack, MonadIO m) => WebKit2.Enums.ContextMenuAction {- ^ /@action@/: a 'GI.WebKit2.Enums.ContextMenuAction' stock action -} -> m ContextMenuItem {- ^ __Returns:__ the newly created 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' object. -} contextMenuItemNewFromStockAction action = liftIO $ do let action' = (fromIntegral . fromEnum) action result <- webkit_context_menu_item_new_from_stock_action action' checkUnexpectedReturnNULL "contextMenuItemNewFromStockAction" result result' <- (newObject ContextMenuItem) result return result' #if ENABLE_OVERLOADING #endif -- method ContextMenuItem::new_from_stock_action_with_label -- method type : Constructor -- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuAction stock action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a custom label text to use instead of the predefined one", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_new_from_stock_action_with_label" webkit_context_menu_item_new_from_stock_action_with_label :: CUInt -> -- action : TInterface (Name {namespace = "WebKit2", name = "ContextMenuAction"}) CString -> -- label : TBasicType TUTF8 IO (Ptr ContextMenuItem) {- | Creates a new 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' for the given stock action using the given /@label@/. Stock actions have a predefined label, this method can be used to create a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' for a 'GI.WebKit2.Enums.ContextMenuAction' but using a custom label. -} contextMenuItemNewFromStockActionWithLabel :: (B.CallStack.HasCallStack, MonadIO m) => WebKit2.Enums.ContextMenuAction {- ^ /@action@/: a 'GI.WebKit2.Enums.ContextMenuAction' stock action -} -> T.Text {- ^ /@label@/: a custom label text to use instead of the predefined one -} -> m ContextMenuItem {- ^ __Returns:__ the newly created 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' object. -} contextMenuItemNewFromStockActionWithLabel action label = liftIO $ do let action' = (fromIntegral . fromEnum) action label' <- textToCString label result <- webkit_context_menu_item_new_from_stock_action_with_label action' label' checkUnexpectedReturnNULL "contextMenuItemNewFromStockActionWithLabel" result result' <- (newObject ContextMenuItem) result freeMem label' return result' #if ENABLE_OVERLOADING #endif -- method ContextMenuItem::new_separator -- method type : Constructor -- Args : [] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_new_separator" webkit_context_menu_item_new_separator :: IO (Ptr ContextMenuItem) {- | Creates a new 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' representing a separator. -} contextMenuItemNewSeparator :: (B.CallStack.HasCallStack, MonadIO m) => m ContextMenuItem {- ^ __Returns:__ the newly created 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' object. -} contextMenuItemNewSeparator = liftIO $ do result <- webkit_context_menu_item_new_separator checkUnexpectedReturnNULL "contextMenuItemNewSeparator" result result' <- (newObject ContextMenuItem) result return result' #if ENABLE_OVERLOADING #endif -- method ContextMenuItem::new_with_submenu -- method type : Constructor -- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item label text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "submenu", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenu to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_new_with_submenu" webkit_context_menu_item_new_with_submenu :: CString -> -- label : TBasicType TUTF8 Ptr WebKit2.ContextMenu.ContextMenu -> -- submenu : TInterface (Name {namespace = "WebKit2", name = "ContextMenu"}) IO (Ptr ContextMenuItem) {- | Creates a new 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' using the given /@label@/ with a submenu. -} contextMenuItemNewWithSubmenu :: (B.CallStack.HasCallStack, MonadIO m, WebKit2.ContextMenu.IsContextMenu a) => T.Text {- ^ /@label@/: the menu item label text -} -> a {- ^ /@submenu@/: a 'GI.WebKit2.Objects.ContextMenu.ContextMenu' to set -} -> m ContextMenuItem {- ^ __Returns:__ the newly created 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' object. -} contextMenuItemNewWithSubmenu label submenu = liftIO $ do label' <- textToCString label submenu' <- unsafeManagedPtrCastPtr submenu result <- webkit_context_menu_item_new_with_submenu label' submenu' checkUnexpectedReturnNULL "contextMenuItemNewWithSubmenu" result result' <- (newObject ContextMenuItem) result touchManagedPtr submenu freeMem label' return result' #if ENABLE_OVERLOADING #endif -- method ContextMenuItem::get_action -- method type : OrdinaryMethod -- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Action"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_get_action" webkit_context_menu_item_get_action :: Ptr ContextMenuItem -> -- item : TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}) IO (Ptr Gtk.Action.Action) {-# DEPRECATED contextMenuItemGetAction ["(Since version 2.18)","Use 'GI.WebKit2.Objects.ContextMenuItem.contextMenuItemGetGaction' instead."] #-} {- | Gets the action associated to /@item@/ as a 'GI.Gtk.Objects.Action.Action'. -} contextMenuItemGetAction :: (B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) => a {- ^ /@item@/: a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' -} -> m (Maybe Gtk.Action.Action) {- ^ __Returns:__ the 'GI.Gtk.Objects.Action.Action' associated to the 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem', or 'Nothing' if /@item@/ is a separator. -} contextMenuItemGetAction item = liftIO $ do item' <- unsafeManagedPtrCastPtr item result <- webkit_context_menu_item_get_action item' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject Gtk.Action.Action) result' return result'' touchManagedPtr item return maybeResult #if ENABLE_OVERLOADING data ContextMenuItemGetActionMethodInfo instance (signature ~ (m (Maybe Gtk.Action.Action)), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetActionMethodInfo a signature where overloadedMethod _ = contextMenuItemGetAction #endif -- method ContextMenuItem::get_gaction -- method type : OrdinaryMethod -- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gio", name = "Action"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_get_gaction" webkit_context_menu_item_get_gaction :: Ptr ContextMenuItem -> -- item : TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}) IO (Ptr Gio.Action.Action) {- | Gets the action associated to /@item@/ as a 'GI.Gio.Interfaces.Action.Action'. /Since: 2.18/ -} contextMenuItemGetGaction :: (B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) => a {- ^ /@item@/: a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' -} -> m (Maybe Gio.Action.Action) {- ^ __Returns:__ the 'GI.Gio.Interfaces.Action.Action' associated to the 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem', or 'Nothing' if /@item@/ is a separator. -} contextMenuItemGetGaction item = liftIO $ do item' <- unsafeManagedPtrCastPtr item result <- webkit_context_menu_item_get_gaction item' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject Gio.Action.Action) result' return result'' touchManagedPtr item return maybeResult #if ENABLE_OVERLOADING data ContextMenuItemGetGactionMethodInfo instance (signature ~ (m (Maybe Gio.Action.Action)), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetGactionMethodInfo a signature where overloadedMethod _ = contextMenuItemGetGaction #endif -- method ContextMenuItem::get_stock_action -- method type : OrdinaryMethod -- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenuAction"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_get_stock_action" webkit_context_menu_item_get_stock_action :: Ptr ContextMenuItem -> -- item : TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}) IO CUInt {- | Gets the 'GI.WebKit2.Enums.ContextMenuAction' of /@item@/. If the 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' was not created for a stock action 'GI.WebKit2.Enums.ContextMenuActionCustom' will be returned. If the 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' is a separator 'GI.WebKit2.Enums.ContextMenuActionNoAction' will be returned. -} contextMenuItemGetStockAction :: (B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) => a {- ^ /@item@/: a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' -} -> m WebKit2.Enums.ContextMenuAction {- ^ __Returns:__ the 'GI.WebKit2.Enums.ContextMenuAction' of /@item@/ -} contextMenuItemGetStockAction item = liftIO $ do item' <- unsafeManagedPtrCastPtr item result <- webkit_context_menu_item_get_stock_action item' let result' = (toEnum . fromIntegral) result touchManagedPtr item return result' #if ENABLE_OVERLOADING data ContextMenuItemGetStockActionMethodInfo instance (signature ~ (m WebKit2.Enums.ContextMenuAction), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetStockActionMethodInfo a signature where overloadedMethod _ = contextMenuItemGetStockAction #endif -- method ContextMenuItem::get_submenu -- method type : OrdinaryMethod -- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ContextMenu"})) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_get_submenu" webkit_context_menu_item_get_submenu :: Ptr ContextMenuItem -> -- item : TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}) IO (Ptr WebKit2.ContextMenu.ContextMenu) {- | Gets the submenu of /@item@/. -} contextMenuItemGetSubmenu :: (B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) => a {- ^ /@item@/: a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' -} -> m (Maybe WebKit2.ContextMenu.ContextMenu) {- ^ __Returns:__ the 'GI.WebKit2.Objects.ContextMenu.ContextMenu' representing the submenu of /@item@/ or 'Nothing' if /@item@/ doesn\'t have a submenu. -} contextMenuItemGetSubmenu item = liftIO $ do item' <- unsafeManagedPtrCastPtr item result <- webkit_context_menu_item_get_submenu item' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject WebKit2.ContextMenu.ContextMenu) result' return result'' touchManagedPtr item return maybeResult #if ENABLE_OVERLOADING data ContextMenuItemGetSubmenuMethodInfo instance (signature ~ (m (Maybe WebKit2.ContextMenu.ContextMenu)), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetSubmenuMethodInfo a signature where overloadedMethod _ = contextMenuItemGetSubmenu #endif -- method ContextMenuItem::is_separator -- method type : OrdinaryMethod -- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_is_separator" webkit_context_menu_item_is_separator :: Ptr ContextMenuItem -> -- item : TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}) IO CInt {- | Checks whether /@item@/ is a separator. -} contextMenuItemIsSeparator :: (B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) => a {- ^ /@item@/: a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' -} -> m Bool {- ^ __Returns:__ 'True' is /@item@/ is a separator or 'False' otherwise -} contextMenuItemIsSeparator item = liftIO $ do item' <- unsafeManagedPtrCastPtr item result <- webkit_context_menu_item_is_separator item' let result' = (/= 0) result touchManagedPtr item return result' #if ENABLE_OVERLOADING data ContextMenuItemIsSeparatorMethodInfo instance (signature ~ (m Bool), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemIsSeparatorMethodInfo a signature where overloadedMethod _ = contextMenuItemIsSeparator #endif -- method ContextMenuItem::set_submenu -- method type : OrdinaryMethod -- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "submenu", argType = TInterface (Name {namespace = "WebKit2", name = "ContextMenu"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #WebKitContextMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_context_menu_item_set_submenu" webkit_context_menu_item_set_submenu :: Ptr ContextMenuItem -> -- item : TInterface (Name {namespace = "WebKit2", name = "ContextMenuItem"}) Ptr WebKit2.ContextMenu.ContextMenu -> -- submenu : TInterface (Name {namespace = "WebKit2", name = "ContextMenu"}) IO () {- | Sets or replaces the /@item@/ submenu. If /@submenu@/ is 'Nothing' the current submenu of /@item@/ is removed. -} contextMenuItemSetSubmenu :: (B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a, WebKit2.ContextMenu.IsContextMenu b) => a {- ^ /@item@/: a 'GI.WebKit2.Objects.ContextMenuItem.ContextMenuItem' -} -> Maybe (b) {- ^ /@submenu@/: a 'GI.WebKit2.Objects.ContextMenu.ContextMenu' -} -> m () contextMenuItemSetSubmenu item submenu = liftIO $ do item' <- unsafeManagedPtrCastPtr item maybeSubmenu <- case submenu of Nothing -> return nullPtr Just jSubmenu -> do jSubmenu' <- unsafeManagedPtrCastPtr jSubmenu return jSubmenu' webkit_context_menu_item_set_submenu item' maybeSubmenu touchManagedPtr item whenJust submenu touchManagedPtr return () #if ENABLE_OVERLOADING data ContextMenuItemSetSubmenuMethodInfo instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsContextMenuItem a, WebKit2.ContextMenu.IsContextMenu b) => O.MethodInfo ContextMenuItemSetSubmenuMethodInfo a signature where overloadedMethod _ = contextMenuItemSetSubmenu #endif