module GI.WebKit2WebExtension.Objects.ContextMenuItem
(
ContextMenuItem(..) ,
IsContextMenuItem ,
toContextMenuItem ,
noContextMenuItem ,
ContextMenuItemGetActionMethodInfo ,
contextMenuItemGetAction ,
ContextMenuItemGetStockActionMethodInfo ,
contextMenuItemGetStockAction ,
ContextMenuItemGetSubmenuMethodInfo ,
contextMenuItemGetSubmenu ,
ContextMenuItemIsSeparatorMethodInfo ,
contextMenuItemIsSeparator ,
contextMenuItemNew ,
contextMenuItemNewFromStockAction ,
contextMenuItemNewFromStockActionWithLabel,
contextMenuItemNewSeparator ,
contextMenuItemNewWithSubmenu ,
ContextMenuItemSetSubmenuMethodInfo ,
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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Objects.Action as Gtk.Action
import qualified GI.WebKit2WebExtension.Enums as WebKit2WebExtension.Enums
import qualified GI.WebKit2WebExtension.Objects.ContextMenu as WebKit2WebExtension.ContextMenu
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
class GObject o => IsContextMenuItem o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError ContextMenuItem a) =>
IsContextMenuItem a
#endif
instance IsContextMenuItem ContextMenuItem
instance GObject.Object.IsObject ContextMenuItem
toContextMenuItem :: IsContextMenuItem o => o -> IO ContextMenuItem
toContextMenuItem = unsafeCastTo ContextMenuItem
noContextMenuItem :: Maybe ContextMenuItem
noContextMenuItem = Nothing
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveContextMenuItemMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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 "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) => O.IsLabelProxy t (ContextMenuItem -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveContextMenuItemMethod t ContextMenuItem, O.MethodInfo info ContextMenuItem p) => O.IsLabel t (ContextMenuItem -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
instance O.HasAttributeList ContextMenuItem
type instance O.AttributeList ContextMenuItem = ContextMenuItemAttributeList
type ContextMenuItemAttributeList = ('[ ] :: [(Symbol, *)])
type instance O.SignalList ContextMenuItem = ContextMenuItemSignalList
type ContextMenuItemSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "webkit_context_menu_item_new" webkit_context_menu_item_new ::
Ptr Gtk.Action.Action ->
IO (Ptr ContextMenuItem)
contextMenuItemNew ::
(B.CallStack.HasCallStack, MonadIO m, Gtk.Action.IsAction a) =>
a
-> m ContextMenuItem
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'
foreign import ccall "webkit_context_menu_item_new_from_stock_action" webkit_context_menu_item_new_from_stock_action ::
CUInt ->
IO (Ptr ContextMenuItem)
contextMenuItemNewFromStockAction ::
(B.CallStack.HasCallStack, MonadIO m) =>
WebKit2WebExtension.Enums.ContextMenuAction
-> m ContextMenuItem
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'
foreign import ccall "webkit_context_menu_item_new_from_stock_action_with_label" webkit_context_menu_item_new_from_stock_action_with_label ::
CUInt ->
CString ->
IO (Ptr ContextMenuItem)
contextMenuItemNewFromStockActionWithLabel ::
(B.CallStack.HasCallStack, MonadIO m) =>
WebKit2WebExtension.Enums.ContextMenuAction
-> T.Text
-> 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 "contextMenuItemNewFromStockActionWithLabel" result
result' <- (newObject ContextMenuItem) result
freeMem label'
return result'
foreign import ccall "webkit_context_menu_item_new_separator" webkit_context_menu_item_new_separator ::
IO (Ptr ContextMenuItem)
contextMenuItemNewSeparator ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ContextMenuItem
contextMenuItemNewSeparator = liftIO $ do
result <- webkit_context_menu_item_new_separator
checkUnexpectedReturnNULL "contextMenuItemNewSeparator" result
result' <- (newObject ContextMenuItem) result
return result'
foreign import ccall "webkit_context_menu_item_new_with_submenu" webkit_context_menu_item_new_with_submenu ::
CString ->
Ptr WebKit2WebExtension.ContextMenu.ContextMenu ->
IO (Ptr ContextMenuItem)
contextMenuItemNewWithSubmenu ::
(B.CallStack.HasCallStack, MonadIO m, WebKit2WebExtension.ContextMenu.IsContextMenu a) =>
T.Text
-> a
-> m ContextMenuItem
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'
foreign import ccall "webkit_context_menu_item_get_action" webkit_context_menu_item_get_action ::
Ptr ContextMenuItem ->
IO (Ptr Gtk.Action.Action)
contextMenuItemGetAction ::
(B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) =>
a
-> m Gtk.Action.Action
contextMenuItemGetAction item = liftIO $ do
item' <- unsafeManagedPtrCastPtr item
result <- webkit_context_menu_item_get_action item'
checkUnexpectedReturnNULL "contextMenuItemGetAction" result
result' <- (newObject Gtk.Action.Action) result
touchManagedPtr item
return result'
data ContextMenuItemGetActionMethodInfo
instance (signature ~ (m Gtk.Action.Action), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetActionMethodInfo a signature where
overloadedMethod _ = contextMenuItemGetAction
foreign import ccall "webkit_context_menu_item_get_stock_action" webkit_context_menu_item_get_stock_action ::
Ptr ContextMenuItem ->
IO CUInt
contextMenuItemGetStockAction ::
(B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) =>
a
-> m WebKit2WebExtension.Enums.ContextMenuAction
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'
data ContextMenuItemGetStockActionMethodInfo
instance (signature ~ (m WebKit2WebExtension.Enums.ContextMenuAction), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetStockActionMethodInfo a signature where
overloadedMethod _ = contextMenuItemGetStockAction
foreign import ccall "webkit_context_menu_item_get_submenu" webkit_context_menu_item_get_submenu ::
Ptr ContextMenuItem ->
IO (Ptr WebKit2WebExtension.ContextMenu.ContextMenu)
contextMenuItemGetSubmenu ::
(B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) =>
a
-> m WebKit2WebExtension.ContextMenu.ContextMenu
contextMenuItemGetSubmenu item = liftIO $ do
item' <- unsafeManagedPtrCastPtr item
result <- webkit_context_menu_item_get_submenu item'
checkUnexpectedReturnNULL "contextMenuItemGetSubmenu" result
result' <- (newObject WebKit2WebExtension.ContextMenu.ContextMenu) result
touchManagedPtr item
return result'
data ContextMenuItemGetSubmenuMethodInfo
instance (signature ~ (m WebKit2WebExtension.ContextMenu.ContextMenu), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemGetSubmenuMethodInfo a signature where
overloadedMethod _ = contextMenuItemGetSubmenu
foreign import ccall "webkit_context_menu_item_is_separator" webkit_context_menu_item_is_separator ::
Ptr ContextMenuItem ->
IO CInt
contextMenuItemIsSeparator ::
(B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a) =>
a
-> m Bool
contextMenuItemIsSeparator item = liftIO $ do
item' <- unsafeManagedPtrCastPtr item
result <- webkit_context_menu_item_is_separator item'
let result' = (/= 0) result
touchManagedPtr item
return result'
data ContextMenuItemIsSeparatorMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsContextMenuItem a) => O.MethodInfo ContextMenuItemIsSeparatorMethodInfo a signature where
overloadedMethod _ = contextMenuItemIsSeparator
foreign import ccall "webkit_context_menu_item_set_submenu" webkit_context_menu_item_set_submenu ::
Ptr ContextMenuItem ->
Ptr WebKit2WebExtension.ContextMenu.ContextMenu ->
IO ()
contextMenuItemSetSubmenu ::
(B.CallStack.HasCallStack, MonadIO m, IsContextMenuItem a, WebKit2WebExtension.ContextMenu.IsContextMenu b) =>
a
-> Maybe (b)
-> 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 ()
data ContextMenuItemSetSubmenuMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsContextMenuItem a, WebKit2WebExtension.ContextMenu.IsContextMenu b) => O.MethodInfo ContextMenuItemSetSubmenuMethodInfo a signature where
overloadedMethod _ = contextMenuItemSetSubmenu