{- | 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.Objects.PrintOperation ( -- * Exported types PrintOperation(..) , PrintOperationK , toPrintOperation , noPrintOperation , -- * Methods -- ** printOperationGetPageSetup printOperationGetPageSetup , -- ** printOperationGetPrintSettings printOperationGetPrintSettings , -- ** printOperationNew printOperationNew , -- ** printOperationPrint printOperationPrint , -- ** printOperationRunDialog printOperationRunDialog , -- ** printOperationSetPageSetup printOperationSetPageSetup , -- ** printOperationSetPrintSettings printOperationSetPrintSettings , -- * Properties -- ** PageSetup PrintOperationPageSetupPropertyInfo , constructPrintOperationPageSetup , getPrintOperationPageSetup , setPrintOperationPageSetup , -- ** PrintSettings PrintOperationPrintSettingsPropertyInfo , constructPrintOperationPrintSettings , getPrintOperationPrintSettings , setPrintOperationPrintSettings , -- ** WebView PrintOperationWebViewPropertyInfo , constructPrintOperationWebView , getPrintOperationWebView , -- * Signals -- ** Failed PrintOperationFailedCallback , PrintOperationFailedCallbackC , PrintOperationFailedSignalInfo , afterPrintOperationFailed , mkPrintOperationFailedCallback , noPrintOperationFailedCallback , onPrintOperationFailed , printOperationFailedCallbackWrapper , printOperationFailedClosure , -- ** Finished PrintOperationFinishedCallback , PrintOperationFinishedCallbackC , PrintOperationFinishedSignalInfo , afterPrintOperationFinished , mkPrintOperationFinishedCallback , noPrintOperationFinishedCallback , onPrintOperationFinished , printOperationFinishedCallbackWrapper , printOperationFinishedClosure , ) 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.WebKit2.Types import GI.WebKit2.Callbacks import qualified GI.GObject as GObject import qualified GI.Gtk as Gtk newtype PrintOperation = PrintOperation (ForeignPtr PrintOperation) foreign import ccall "webkit_print_operation_get_type" c_webkit_print_operation_get_type :: IO GType type instance ParentTypes PrintOperation = PrintOperationParentTypes type PrintOperationParentTypes = '[GObject.Object] instance GObject PrintOperation where gobjectIsInitiallyUnowned _ = False gobjectType _ = c_webkit_print_operation_get_type class GObject o => PrintOperationK o instance (GObject o, IsDescendantOf PrintOperation o) => PrintOperationK o toPrintOperation :: PrintOperationK o => o -> IO PrintOperation toPrintOperation = unsafeCastTo PrintOperation noPrintOperation :: Maybe PrintOperation noPrintOperation = Nothing -- signal PrintOperation::failed type PrintOperationFailedCallback = Ptr () -> IO () noPrintOperationFailedCallback :: Maybe PrintOperationFailedCallback noPrintOperationFailedCallback = Nothing type PrintOperationFailedCallbackC = Ptr () -> -- object Ptr () -> Ptr () -> -- user_data IO () foreign import ccall "wrapper" mkPrintOperationFailedCallback :: PrintOperationFailedCallbackC -> IO (FunPtr PrintOperationFailedCallbackC) printOperationFailedClosure :: PrintOperationFailedCallback -> IO Closure printOperationFailedClosure cb = newCClosure =<< mkPrintOperationFailedCallback wrapped where wrapped = printOperationFailedCallbackWrapper cb printOperationFailedCallbackWrapper :: PrintOperationFailedCallback -> Ptr () -> Ptr () -> Ptr () -> IO () printOperationFailedCallbackWrapper _cb _ error_ _ = do _cb error_ onPrintOperationFailed :: (GObject a, MonadIO m) => a -> PrintOperationFailedCallback -> m SignalHandlerId onPrintOperationFailed obj cb = liftIO $ connectPrintOperationFailed obj cb SignalConnectBefore afterPrintOperationFailed :: (GObject a, MonadIO m) => a -> PrintOperationFailedCallback -> m SignalHandlerId afterPrintOperationFailed obj cb = connectPrintOperationFailed obj cb SignalConnectAfter connectPrintOperationFailed :: (GObject a, MonadIO m) => a -> PrintOperationFailedCallback -> SignalConnectMode -> m SignalHandlerId connectPrintOperationFailed obj cb after = liftIO $ do cb' <- mkPrintOperationFailedCallback (printOperationFailedCallbackWrapper cb) connectSignalFunPtr obj "failed" cb' after -- signal PrintOperation::finished type PrintOperationFinishedCallback = IO () noPrintOperationFinishedCallback :: Maybe PrintOperationFinishedCallback noPrintOperationFinishedCallback = Nothing type PrintOperationFinishedCallbackC = Ptr () -> -- object Ptr () -> -- user_data IO () foreign import ccall "wrapper" mkPrintOperationFinishedCallback :: PrintOperationFinishedCallbackC -> IO (FunPtr PrintOperationFinishedCallbackC) printOperationFinishedClosure :: PrintOperationFinishedCallback -> IO Closure printOperationFinishedClosure cb = newCClosure =<< mkPrintOperationFinishedCallback wrapped where wrapped = printOperationFinishedCallbackWrapper cb printOperationFinishedCallbackWrapper :: PrintOperationFinishedCallback -> Ptr () -> Ptr () -> IO () printOperationFinishedCallbackWrapper _cb _ _ = do _cb onPrintOperationFinished :: (GObject a, MonadIO m) => a -> PrintOperationFinishedCallback -> m SignalHandlerId onPrintOperationFinished obj cb = liftIO $ connectPrintOperationFinished obj cb SignalConnectBefore afterPrintOperationFinished :: (GObject a, MonadIO m) => a -> PrintOperationFinishedCallback -> m SignalHandlerId afterPrintOperationFinished obj cb = connectPrintOperationFinished obj cb SignalConnectAfter connectPrintOperationFinished :: (GObject a, MonadIO m) => a -> PrintOperationFinishedCallback -> SignalConnectMode -> m SignalHandlerId connectPrintOperationFinished obj cb after = liftIO $ do cb' <- mkPrintOperationFinishedCallback (printOperationFinishedCallbackWrapper cb) connectSignalFunPtr obj "finished" cb' after -- VVV Prop "page-setup" -- Type: TInterface "Gtk" "PageSetup" -- Flags: [PropertyReadable,PropertyWritable] getPrintOperationPageSetup :: (MonadIO m, PrintOperationK o) => o -> m Gtk.PageSetup getPrintOperationPageSetup obj = liftIO $ getObjectPropertyObject obj "page-setup" Gtk.PageSetup setPrintOperationPageSetup :: (MonadIO m, PrintOperationK o, Gtk.PageSetupK a) => o -> a -> m () setPrintOperationPageSetup obj val = liftIO $ setObjectPropertyObject obj "page-setup" val constructPrintOperationPageSetup :: (Gtk.PageSetupK a) => a -> IO ([Char], GValue) constructPrintOperationPageSetup val = constructObjectPropertyObject "page-setup" val data PrintOperationPageSetupPropertyInfo instance AttrInfo PrintOperationPageSetupPropertyInfo where type AttrAllowedOps PrintOperationPageSetupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint PrintOperationPageSetupPropertyInfo = Gtk.PageSetupK type AttrBaseTypeConstraint PrintOperationPageSetupPropertyInfo = PrintOperationK type AttrGetType PrintOperationPageSetupPropertyInfo = Gtk.PageSetup type AttrLabel PrintOperationPageSetupPropertyInfo = "PrintOperation::page-setup" attrGet _ = getPrintOperationPageSetup attrSet _ = setPrintOperationPageSetup attrConstruct _ = constructPrintOperationPageSetup -- VVV Prop "print-settings" -- Type: TInterface "Gtk" "PrintSettings" -- Flags: [PropertyReadable,PropertyWritable] getPrintOperationPrintSettings :: (MonadIO m, PrintOperationK o) => o -> m Gtk.PrintSettings getPrintOperationPrintSettings obj = liftIO $ getObjectPropertyObject obj "print-settings" Gtk.PrintSettings setPrintOperationPrintSettings :: (MonadIO m, PrintOperationK o, Gtk.PrintSettingsK a) => o -> a -> m () setPrintOperationPrintSettings obj val = liftIO $ setObjectPropertyObject obj "print-settings" val constructPrintOperationPrintSettings :: (Gtk.PrintSettingsK a) => a -> IO ([Char], GValue) constructPrintOperationPrintSettings val = constructObjectPropertyObject "print-settings" val data PrintOperationPrintSettingsPropertyInfo instance AttrInfo PrintOperationPrintSettingsPropertyInfo where type AttrAllowedOps PrintOperationPrintSettingsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint PrintOperationPrintSettingsPropertyInfo = Gtk.PrintSettingsK type AttrBaseTypeConstraint PrintOperationPrintSettingsPropertyInfo = PrintOperationK type AttrGetType PrintOperationPrintSettingsPropertyInfo = Gtk.PrintSettings type AttrLabel PrintOperationPrintSettingsPropertyInfo = "PrintOperation::print-settings" attrGet _ = getPrintOperationPrintSettings attrSet _ = setPrintOperationPrintSettings attrConstruct _ = constructPrintOperationPrintSettings -- VVV Prop "web-view" -- Type: TInterface "WebKit2" "WebView" -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] getPrintOperationWebView :: (MonadIO m, PrintOperationK o) => o -> m WebView getPrintOperationWebView obj = liftIO $ getObjectPropertyObject obj "web-view" WebView constructPrintOperationWebView :: (WebViewK a) => a -> IO ([Char], GValue) constructPrintOperationWebView val = constructObjectPropertyObject "web-view" val data PrintOperationWebViewPropertyInfo instance AttrInfo PrintOperationWebViewPropertyInfo where type AttrAllowedOps PrintOperationWebViewPropertyInfo = '[ 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint PrintOperationWebViewPropertyInfo = WebViewK type AttrBaseTypeConstraint PrintOperationWebViewPropertyInfo = PrintOperationK type AttrGetType PrintOperationWebViewPropertyInfo = WebView type AttrLabel PrintOperationWebViewPropertyInfo = "PrintOperation::web-view" attrGet _ = getPrintOperationWebView attrSet _ = undefined attrConstruct _ = constructPrintOperationWebView type instance AttributeList PrintOperation = PrintOperationAttributeList type PrintOperationAttributeList = ('[ '("page-setup", PrintOperationPageSetupPropertyInfo), '("print-settings", PrintOperationPrintSettingsPropertyInfo), '("web-view", PrintOperationWebViewPropertyInfo)] :: [(Symbol, *)]) data PrintOperationFailedSignalInfo instance SignalInfo PrintOperationFailedSignalInfo where type HaskellCallbackType PrintOperationFailedSignalInfo = PrintOperationFailedCallback connectSignal _ = connectPrintOperationFailed data PrintOperationFinishedSignalInfo instance SignalInfo PrintOperationFinishedSignalInfo where type HaskellCallbackType PrintOperationFinishedSignalInfo = PrintOperationFinishedCallback connectSignal _ = connectPrintOperationFinished type instance SignalList PrintOperation = PrintOperationSignalList type PrintOperationSignalList = ('[ '("failed", PrintOperationFailedSignalInfo), '("finished", PrintOperationFinishedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method PrintOperation::new -- method type : Constructor -- Args : [Arg {argName = "web_view", argType = TInterface "WebKit2" "WebView", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "web_view", argType = TInterface "WebKit2" "WebView", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "WebKit2" "PrintOperation" -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_new" webkit_print_operation_new :: Ptr WebView -> -- web_view : TInterface "WebKit2" "WebView" IO (Ptr PrintOperation) printOperationNew :: (MonadIO m, WebViewK a) => a -> -- web_view m PrintOperation printOperationNew web_view = liftIO $ do let web_view' = unsafeManagedPtrCastPtr web_view result <- webkit_print_operation_new web_view' checkUnexpectedReturnNULL "webkit_print_operation_new" result result' <- (wrapObject PrintOperation) result touchManagedPtr web_view return result' -- method PrintOperation::get_page_setup -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gtk" "PageSetup" -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_get_page_setup" webkit_print_operation_get_page_setup :: Ptr PrintOperation -> -- _obj : TInterface "WebKit2" "PrintOperation" IO (Ptr Gtk.PageSetup) printOperationGetPageSetup :: (MonadIO m, PrintOperationK a) => a -> -- _obj m Gtk.PageSetup printOperationGetPageSetup _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- webkit_print_operation_get_page_setup _obj' checkUnexpectedReturnNULL "webkit_print_operation_get_page_setup" result result' <- (newObject Gtk.PageSetup) result touchManagedPtr _obj return result' -- method PrintOperation::get_print_settings -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gtk" "PrintSettings" -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_get_print_settings" webkit_print_operation_get_print_settings :: Ptr PrintOperation -> -- _obj : TInterface "WebKit2" "PrintOperation" IO (Ptr Gtk.PrintSettings) printOperationGetPrintSettings :: (MonadIO m, PrintOperationK a) => a -> -- _obj m Gtk.PrintSettings printOperationGetPrintSettings _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- webkit_print_operation_get_print_settings _obj' checkUnexpectedReturnNULL "webkit_print_operation_get_print_settings" result result' <- (newObject Gtk.PrintSettings) result touchManagedPtr _obj return result' -- method PrintOperation::print -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_print" webkit_print_operation_print :: Ptr PrintOperation -> -- _obj : TInterface "WebKit2" "PrintOperation" IO () printOperationPrint :: (MonadIO m, PrintOperationK a) => a -> -- _obj m () printOperationPrint _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj webkit_print_operation_print _obj' touchManagedPtr _obj return () -- method PrintOperation::run_dialog -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gtk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "WebKit2" "PrintOperationResponse" -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_run_dialog" webkit_print_operation_run_dialog :: Ptr PrintOperation -> -- _obj : TInterface "WebKit2" "PrintOperation" Ptr Gtk.Window -> -- parent : TInterface "Gtk" "Window" IO CUInt printOperationRunDialog :: (MonadIO m, PrintOperationK a, Gtk.WindowK b) => a -> -- _obj Maybe (b) -> -- parent m PrintOperationResponse printOperationRunDialog _obj parent = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj maybeParent <- case parent of Nothing -> return nullPtr Just jParent -> do let jParent' = unsafeManagedPtrCastPtr jParent return jParent' result <- webkit_print_operation_run_dialog _obj' maybeParent let result' = (toEnum . fromIntegral) result touchManagedPtr _obj whenJust parent touchManagedPtr return result' -- method PrintOperation::set_page_setup -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "page_setup", argType = TInterface "Gtk" "PageSetup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "page_setup", argType = TInterface "Gtk" "PageSetup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_set_page_setup" webkit_print_operation_set_page_setup :: Ptr PrintOperation -> -- _obj : TInterface "WebKit2" "PrintOperation" Ptr Gtk.PageSetup -> -- page_setup : TInterface "Gtk" "PageSetup" IO () printOperationSetPageSetup :: (MonadIO m, PrintOperationK a, Gtk.PageSetupK b) => a -> -- _obj b -> -- page_setup m () printOperationSetPageSetup _obj page_setup = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let page_setup' = unsafeManagedPtrCastPtr page_setup webkit_print_operation_set_page_setup _obj' page_setup' touchManagedPtr _obj touchManagedPtr page_setup return () -- method PrintOperation::set_print_settings -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "print_settings", argType = TInterface "Gtk" "PrintSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "print_settings", argType = TInterface "Gtk" "PrintSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "webkit_print_operation_set_print_settings" webkit_print_operation_set_print_settings :: Ptr PrintOperation -> -- _obj : TInterface "WebKit2" "PrintOperation" Ptr Gtk.PrintSettings -> -- print_settings : TInterface "Gtk" "PrintSettings" IO () printOperationSetPrintSettings :: (MonadIO m, PrintOperationK a, Gtk.PrintSettingsK b) => a -> -- _obj b -> -- print_settings m () printOperationSetPrintSettings _obj print_settings = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let print_settings' = unsafeManagedPtrCastPtr print_settings webkit_print_operation_set_print_settings _obj' print_settings' touchManagedPtr _obj touchManagedPtr print_settings return ()