gi-webkit2webextension-0.2.10.12: GI/WebKit2WebExtension/Objects/ContextMenuItem.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.WebKit2WebExtension.Objects.ContextMenuItem
(
-- * Exported types
ContextMenuItem(..) ,
ContextMenuItemK ,
toContextMenuItem ,
noContextMenuItem ,
-- * Methods
-- ** contextMenuItemGetAction
contextMenuItemGetAction ,
-- ** contextMenuItemGetStockAction
contextMenuItemGetStockAction ,
-- ** contextMenuItemGetSubmenu
contextMenuItemGetSubmenu ,
-- ** contextMenuItemIsSeparator
contextMenuItemIsSeparator ,
-- ** contextMenuItemNew
contextMenuItemNew ,
-- ** contextMenuItemNewFromStockAction
contextMenuItemNewFromStockAction ,
-- ** contextMenuItemNewFromStockActionWithLabel
contextMenuItemNewFromStockActionWithLabel,
-- ** contextMenuItemNewSeparator
contextMenuItemNewSeparator ,
-- ** contextMenuItemNewWithSubmenu
contextMenuItemNewWithSubmenu ,
-- ** contextMenuItemSetSubmenu
contextMenuItemSetSubmenu ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.WebKit2WebExtension.Types
import GI.WebKit2WebExtension.Callbacks
import qualified GI.GObject as GObject
import qualified GI.Gtk as Gtk
newtype ContextMenuItem = ContextMenuItem (ForeignPtr ContextMenuItem)
foreign import ccall "webkit_context_menu_item_get_type"
c_webkit_context_menu_item_get_type :: IO GType
type instance ParentTypes ContextMenuItem = ContextMenuItemParentTypes
type ContextMenuItemParentTypes = '[GObject.Object]
instance GObject ContextMenuItem where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_webkit_context_menu_item_get_type
class GObject o => ContextMenuItemK o
instance (GObject o, IsDescendantOf ContextMenuItem o) => ContextMenuItemK o
toContextMenuItem :: ContextMenuItemK o => o -> IO ContextMenuItem
toContextMenuItem = unsafeCastTo ContextMenuItem
noContextMenuItem :: Maybe ContextMenuItem
noContextMenuItem = Nothing
type instance AttributeList ContextMenuItem = ContextMenuItemAttributeList
type ContextMenuItemAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList ContextMenuItem = ContextMenuItemSignalList
type ContextMenuItemSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method ContextMenuItem::new
-- method type : Constructor
-- Args : [Arg {argName = "action", argType = TInterface "Gtk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "action", argType = TInterface "Gtk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2WebExtension" "ContextMenuItem"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_context_menu_item_new" webkit_context_menu_item_new ::
Ptr Gtk.Action -> -- action : TInterface "Gtk" "Action"
IO (Ptr ContextMenuItem)
contextMenuItemNew ::
(MonadIO m, Gtk.ActionK a) =>
a -> -- action
m ContextMenuItem
contextMenuItemNew action = liftIO $ do
let action' = unsafeManagedPtrCastPtr action
result <- webkit_context_menu_item_new action'
checkUnexpectedReturnNULL "webkit_context_menu_item_new" result
result' <- (newObject ContextMenuItem) result
touchManagedPtr action
return result'
-- method ContextMenuItem::new_from_stock_action
-- method type : Constructor
-- Args : [Arg {argName = "action", argType = TInterface "WebKit2WebExtension" "ContextMenuAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "action", argType = TInterface "WebKit2WebExtension" "ContextMenuAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2WebExtension" "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 "WebKit2WebExtension" "ContextMenuAction"
IO (Ptr ContextMenuItem)
contextMenuItemNewFromStockAction ::
(MonadIO m) =>
ContextMenuAction -> -- action
m ContextMenuItem
contextMenuItemNewFromStockAction action = liftIO $ do
let action' = (fromIntegral . fromEnum) action
result <- webkit_context_menu_item_new_from_stock_action action'
checkUnexpectedReturnNULL "webkit_context_menu_item_new_from_stock_action" result
result' <- (newObject ContextMenuItem) result
return result'
-- method ContextMenuItem::new_from_stock_action_with_label
-- method type : Constructor
-- Args : [Arg {argName = "action", argType = TInterface "WebKit2WebExtension" "ContextMenuAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "action", argType = TInterface "WebKit2WebExtension" "ContextMenuAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2WebExtension" "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 "WebKit2WebExtension" "ContextMenuAction"
CString -> -- label : TBasicType TUTF8
IO (Ptr ContextMenuItem)
contextMenuItemNewFromStockActionWithLabel ::
(MonadIO m) =>
ContextMenuAction -> -- action
T.Text -> -- label
m ContextMenuItem
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 "webkit_context_menu_item_new_from_stock_action_with_label" result
result' <- (newObject ContextMenuItem) result
freeMem label'
return result'
-- method ContextMenuItem::new_separator
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "WebKit2WebExtension" "ContextMenuItem"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_context_menu_item_new_separator" webkit_context_menu_item_new_separator ::
IO (Ptr ContextMenuItem)
contextMenuItemNewSeparator ::
(MonadIO m) =>
m ContextMenuItem
contextMenuItemNewSeparator = liftIO $ do
result <- webkit_context_menu_item_new_separator
checkUnexpectedReturnNULL "webkit_context_menu_item_new_separator" result
result' <- (newObject ContextMenuItem) result
return result'
-- method ContextMenuItem::new_with_submenu
-- method type : Constructor
-- Args : [Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "submenu", argType = TInterface "WebKit2WebExtension" "ContextMenu", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "submenu", argType = TInterface "WebKit2WebExtension" "ContextMenu", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2WebExtension" "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 ContextMenu -> -- submenu : TInterface "WebKit2WebExtension" "ContextMenu"
IO (Ptr ContextMenuItem)
contextMenuItemNewWithSubmenu ::
(MonadIO m, ContextMenuK a) =>
T.Text -> -- label
a -> -- submenu
m ContextMenuItem
contextMenuItemNewWithSubmenu label submenu = liftIO $ do
label' <- textToCString label
let submenu' = unsafeManagedPtrCastPtr submenu
result <- webkit_context_menu_item_new_with_submenu label' submenu'
checkUnexpectedReturnNULL "webkit_context_menu_item_new_with_submenu" result
result' <- (newObject ContextMenuItem) result
touchManagedPtr submenu
freeMem label'
return result'
-- method ContextMenuItem::get_action
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "Action"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_context_menu_item_get_action" webkit_context_menu_item_get_action ::
Ptr ContextMenuItem -> -- _obj : TInterface "WebKit2WebExtension" "ContextMenuItem"
IO (Ptr Gtk.Action)
contextMenuItemGetAction ::
(MonadIO m, ContextMenuItemK a) =>
a -> -- _obj
m Gtk.Action
contextMenuItemGetAction _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_context_menu_item_get_action _obj'
checkUnexpectedReturnNULL "webkit_context_menu_item_get_action" result
result' <- (newObject Gtk.Action) result
touchManagedPtr _obj
return result'
-- method ContextMenuItem::get_stock_action
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2WebExtension" "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 -> -- _obj : TInterface "WebKit2WebExtension" "ContextMenuItem"
IO CUInt
contextMenuItemGetStockAction ::
(MonadIO m, ContextMenuItemK a) =>
a -> -- _obj
m ContextMenuAction
contextMenuItemGetStockAction _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_context_menu_item_get_stock_action _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method ContextMenuItem::get_submenu
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2WebExtension" "ContextMenu"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_context_menu_item_get_submenu" webkit_context_menu_item_get_submenu ::
Ptr ContextMenuItem -> -- _obj : TInterface "WebKit2WebExtension" "ContextMenuItem"
IO (Ptr ContextMenu)
contextMenuItemGetSubmenu ::
(MonadIO m, ContextMenuItemK a) =>
a -> -- _obj
m ContextMenu
contextMenuItemGetSubmenu _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_context_menu_item_get_submenu _obj'
checkUnexpectedReturnNULL "webkit_context_menu_item_get_submenu" result
result' <- (newObject ContextMenu) result
touchManagedPtr _obj
return result'
-- method ContextMenuItem::is_separator
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "webkit_context_menu_item_is_separator" webkit_context_menu_item_is_separator ::
Ptr ContextMenuItem -> -- _obj : TInterface "WebKit2WebExtension" "ContextMenuItem"
IO CInt
contextMenuItemIsSeparator ::
(MonadIO m, ContextMenuItemK a) =>
a -> -- _obj
m Bool
contextMenuItemIsSeparator _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_context_menu_item_is_separator _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method ContextMenuItem::set_submenu
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "submenu", argType = TInterface "WebKit2WebExtension" "ContextMenu", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "ContextMenuItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "submenu", argType = TInterface "WebKit2WebExtension" "ContextMenu", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "webkit_context_menu_item_set_submenu" webkit_context_menu_item_set_submenu ::
Ptr ContextMenuItem -> -- _obj : TInterface "WebKit2WebExtension" "ContextMenuItem"
Ptr ContextMenu -> -- submenu : TInterface "WebKit2WebExtension" "ContextMenu"
IO ()
contextMenuItemSetSubmenu ::
(MonadIO m, ContextMenuItemK a, ContextMenuK b) =>
a -> -- _obj
Maybe (b) -> -- submenu
m ()
contextMenuItemSetSubmenu _obj submenu = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeSubmenu <- case submenu of
Nothing -> return nullPtr
Just jSubmenu -> do
let jSubmenu' = unsafeManagedPtrCastPtr jSubmenu
return jSubmenu'
webkit_context_menu_item_set_submenu _obj' maybeSubmenu
touchManagedPtr _obj
whenJust submenu touchManagedPtr
return ()