{- | 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.WebKit2.Structs.ScriptDialog ( -- * Exported types ScriptDialog(..) , noScriptDialog , -- * Methods -- ** confirmSetConfirmed #method:confirmSetConfirmed# ScriptDialogConfirmSetConfirmedMethodInfo, scriptDialogConfirmSetConfirmed , -- ** getDialogType #method:getDialogType# ScriptDialogGetDialogTypeMethodInfo , scriptDialogGetDialogType , -- ** getMessage #method:getMessage# ScriptDialogGetMessageMethodInfo , scriptDialogGetMessage , -- ** promptGetDefaultText #method:promptGetDefaultText# ScriptDialogPromptGetDefaultTextMethodInfo, scriptDialogPromptGetDefaultText , -- ** promptSetText #method:promptSetText# ScriptDialogPromptSetTextMethodInfo , scriptDialogPromptSetText , ) 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 {-# SOURCE #-} qualified GI.WebKit2.Enums as WebKit2.Enums newtype ScriptDialog = ScriptDialog (ManagedPtr ScriptDialog) foreign import ccall "webkit_script_dialog_get_type" c_webkit_script_dialog_get_type :: IO GType instance BoxedObject ScriptDialog where boxedType _ = c_webkit_script_dialog_get_type noScriptDialog :: Maybe ScriptDialog noScriptDialog = Nothing instance O.HasAttributeList ScriptDialog type instance O.AttributeList ScriptDialog = ScriptDialogAttributeList type ScriptDialogAttributeList = ('[ ] :: [(Symbol, *)]) -- method ScriptDialog::confirm_set_confirmed -- method type : OrdinaryMethod -- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitScriptDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "confirmed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether user confirmed the dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_script_dialog_confirm_set_confirmed" webkit_script_dialog_confirm_set_confirmed :: Ptr ScriptDialog -> -- dialog : TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}) CInt -> -- confirmed : TBasicType TBoolean IO () {- | This method is used for 'GI.WebKit2.Enums.ScriptDialogTypeConfirm' and 'GI.WebKit2.Enums.ScriptDialogTypeBeforeUnloadConfirm' dialogs when 'GI.WebKit2.Objects.WebView.WebView'::@/script-dialog/@ signal is emitted to set whether the user confirmed the dialog or not. The default implementation of 'GI.WebKit2.Objects.WebView.WebView'::@/script-dialog/@ signal sets 'True' when the OK or Stay buttons are clicked and 'False' otherwise. It\'s an error to use this method with a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' that is not of type 'GI.WebKit2.Enums.ScriptDialogTypeConfirm' or 'GI.WebKit2.Enums.ScriptDialogTypeBeforeUnloadConfirm' -} scriptDialogConfirmSetConfirmed :: (B.CallStack.HasCallStack, MonadIO m) => ScriptDialog {- ^ /@dialog@/: a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' -} -> Bool {- ^ /@confirmed@/: whether user confirmed the dialog -} -> m () scriptDialogConfirmSetConfirmed dialog confirmed = liftIO $ do dialog' <- unsafeManagedPtrGetPtr dialog let confirmed' = (fromIntegral . fromEnum) confirmed webkit_script_dialog_confirm_set_confirmed dialog' confirmed' touchManagedPtr dialog return () data ScriptDialogConfirmSetConfirmedMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo ScriptDialogConfirmSetConfirmedMethodInfo ScriptDialog signature where overloadedMethod _ = scriptDialogConfirmSetConfirmed -- method ScriptDialog::get_dialog_type -- method type : OrdinaryMethod -- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitScriptDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "ScriptDialogType"})) -- throws : False -- Skip return : False foreign import ccall "webkit_script_dialog_get_dialog_type" webkit_script_dialog_get_dialog_type :: Ptr ScriptDialog -> -- dialog : TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}) IO CUInt {- | Get the dialog type of a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog'. -} scriptDialogGetDialogType :: (B.CallStack.HasCallStack, MonadIO m) => ScriptDialog {- ^ /@dialog@/: a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' -} -> m WebKit2.Enums.ScriptDialogType {- ^ __Returns:__ the 'GI.WebKit2.Enums.ScriptDialogType' of /@dialog@/ -} scriptDialogGetDialogType dialog = liftIO $ do dialog' <- unsafeManagedPtrGetPtr dialog result <- webkit_script_dialog_get_dialog_type dialog' let result' = (toEnum . fromIntegral) result touchManagedPtr dialog return result' data ScriptDialogGetDialogTypeMethodInfo instance (signature ~ (m WebKit2.Enums.ScriptDialogType), MonadIO m) => O.MethodInfo ScriptDialogGetDialogTypeMethodInfo ScriptDialog signature where overloadedMethod _ = scriptDialogGetDialogType -- method ScriptDialog::get_message -- method type : OrdinaryMethod -- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitScriptDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "webkit_script_dialog_get_message" webkit_script_dialog_get_message :: Ptr ScriptDialog -> -- dialog : TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}) IO CString {- | Get the message of a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog'. -} scriptDialogGetMessage :: (B.CallStack.HasCallStack, MonadIO m) => ScriptDialog {- ^ /@dialog@/: a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' -} -> m T.Text {- ^ __Returns:__ the message of /@dialog@/. -} scriptDialogGetMessage dialog = liftIO $ do dialog' <- unsafeManagedPtrGetPtr dialog result <- webkit_script_dialog_get_message dialog' checkUnexpectedReturnNULL "scriptDialogGetMessage" result result' <- cstringToText result touchManagedPtr dialog return result' data ScriptDialogGetMessageMethodInfo instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo ScriptDialogGetMessageMethodInfo ScriptDialog signature where overloadedMethod _ = scriptDialogGetMessage -- method ScriptDialog::prompt_get_default_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitScriptDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "webkit_script_dialog_prompt_get_default_text" webkit_script_dialog_prompt_get_default_text :: Ptr ScriptDialog -> -- dialog : TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}) IO CString {- | Get the default text of a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' of type 'GI.WebKit2.Enums.ScriptDialogTypePrompt'. It\'s an error to use this method with a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' that is not of type 'GI.WebKit2.Enums.ScriptDialogTypePrompt'. -} scriptDialogPromptGetDefaultText :: (B.CallStack.HasCallStack, MonadIO m) => ScriptDialog {- ^ /@dialog@/: a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' -} -> m T.Text {- ^ __Returns:__ the default text of /@dialog@/ -} scriptDialogPromptGetDefaultText dialog = liftIO $ do dialog' <- unsafeManagedPtrGetPtr dialog result <- webkit_script_dialog_prompt_get_default_text dialog' checkUnexpectedReturnNULL "scriptDialogPromptGetDefaultText" result result' <- cstringToText result touchManagedPtr dialog return result' data ScriptDialogPromptGetDefaultTextMethodInfo instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo ScriptDialogPromptGetDefaultTextMethodInfo ScriptDialog signature where overloadedMethod _ = scriptDialogPromptGetDefaultText -- method ScriptDialog::prompt_set_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitScriptDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_script_dialog_prompt_set_text" webkit_script_dialog_prompt_set_text :: Ptr ScriptDialog -> -- dialog : TInterface (Name {namespace = "WebKit2", name = "ScriptDialog"}) CString -> -- text : TBasicType TUTF8 IO () {- | This method is used for 'GI.WebKit2.Enums.ScriptDialogTypePrompt' dialogs when 'GI.WebKit2.Objects.WebView.WebView'::@/script-dialog/@ signal is emitted to set the text entered by the user. The default implementation of 'GI.WebKit2.Objects.WebView.WebView'::@/script-dialog/@ signal sets the text of the entry form when OK button is clicked, otherwise 'Nothing' is set. It\'s an error to use this method with a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' that is not of type 'GI.WebKit2.Enums.ScriptDialogTypePrompt'. -} scriptDialogPromptSetText :: (B.CallStack.HasCallStack, MonadIO m) => ScriptDialog {- ^ /@dialog@/: a 'GI.WebKit2.Structs.ScriptDialog.ScriptDialog' -} -> T.Text {- ^ /@text@/: the text to set -} -> m () scriptDialogPromptSetText dialog text = liftIO $ do dialog' <- unsafeManagedPtrGetPtr dialog text' <- textToCString text webkit_script_dialog_prompt_set_text dialog' text' touchManagedPtr dialog freeMem text' return () data ScriptDialogPromptSetTextMethodInfo instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo ScriptDialogPromptSetTextMethodInfo ScriptDialog signature where overloadedMethod _ = scriptDialogPromptSetText type family ResolveScriptDialogMethod (t :: Symbol) (o :: *) :: * where ResolveScriptDialogMethod "confirmSetConfirmed" o = ScriptDialogConfirmSetConfirmedMethodInfo ResolveScriptDialogMethod "promptGetDefaultText" o = ScriptDialogPromptGetDefaultTextMethodInfo ResolveScriptDialogMethod "promptSetText" o = ScriptDialogPromptSetTextMethodInfo ResolveScriptDialogMethod "getDialogType" o = ScriptDialogGetDialogTypeMethodInfo ResolveScriptDialogMethod "getMessage" o = ScriptDialogGetMessageMethodInfo ResolveScriptDialogMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveScriptDialogMethod t ScriptDialog, O.MethodInfo info ScriptDialog p) => O.IsLabelProxy t (ScriptDialog -> p) where fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #if MIN_VERSION_base(4,9,0) instance (info ~ ResolveScriptDialogMethod t ScriptDialog, O.MethodInfo info ScriptDialog p) => O.IsLabel t (ScriptDialog -> p) where fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif