module GI.WebKit2.Objects.PrintOperation
(
PrintOperation(..) ,
PrintOperationK ,
toPrintOperation ,
noPrintOperation ,
printOperationGetPageSetup ,
printOperationGetPrintSettings ,
printOperationNew ,
printOperationPrint ,
printOperationRunDialog ,
printOperationSetPageSetup ,
printOperationSetPrintSettings ,
PrintOperationPageSetupPropertyInfo ,
constructPrintOperationPageSetup ,
getPrintOperationPageSetup ,
setPrintOperationPageSetup ,
PrintOperationPrintSettingsPropertyInfo ,
constructPrintOperationPrintSettings ,
getPrintOperationPrintSettings ,
setPrintOperationPrintSettings ,
PrintOperationWebViewPropertyInfo ,
constructPrintOperationWebView ,
getPrintOperationWebView ,
PrintOperationFailedCallback ,
PrintOperationFailedCallbackC ,
PrintOperationFailedSignalInfo ,
afterPrintOperationFailed ,
mkPrintOperationFailedCallback ,
noPrintOperationFailedCallback ,
onPrintOperationFailed ,
printOperationFailedCallbackWrapper ,
printOperationFailedClosure ,
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
type PrintOperationFailedCallback =
Ptr () ->
IO ()
noPrintOperationFailedCallback :: Maybe PrintOperationFailedCallback
noPrintOperationFailedCallback = Nothing
type PrintOperationFailedCallbackC =
Ptr () ->
Ptr () ->
Ptr () ->
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
type PrintOperationFinishedCallback =
IO ()
noPrintOperationFinishedCallback :: Maybe PrintOperationFinishedCallback
noPrintOperationFinishedCallback = Nothing
type PrintOperationFinishedCallbackC =
Ptr () ->
Ptr () ->
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
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
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
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, *)])
foreign import ccall "webkit_print_operation_new" webkit_print_operation_new ::
Ptr WebView ->
IO (Ptr PrintOperation)
printOperationNew ::
(MonadIO m, WebViewK a) =>
a ->
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'
foreign import ccall "webkit_print_operation_get_page_setup" webkit_print_operation_get_page_setup ::
Ptr PrintOperation ->
IO (Ptr Gtk.PageSetup)
printOperationGetPageSetup ::
(MonadIO m, PrintOperationK a) =>
a ->
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'
foreign import ccall "webkit_print_operation_get_print_settings" webkit_print_operation_get_print_settings ::
Ptr PrintOperation ->
IO (Ptr Gtk.PrintSettings)
printOperationGetPrintSettings ::
(MonadIO m, PrintOperationK a) =>
a ->
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'
foreign import ccall "webkit_print_operation_print" webkit_print_operation_print ::
Ptr PrintOperation ->
IO ()
printOperationPrint ::
(MonadIO m, PrintOperationK a) =>
a ->
m ()
printOperationPrint _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
webkit_print_operation_print _obj'
touchManagedPtr _obj
return ()
foreign import ccall "webkit_print_operation_run_dialog" webkit_print_operation_run_dialog ::
Ptr PrintOperation ->
Ptr Gtk.Window ->
IO CUInt
printOperationRunDialog ::
(MonadIO m, PrintOperationK a, Gtk.WindowK b) =>
a ->
Maybe (b) ->
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'
foreign import ccall "webkit_print_operation_set_page_setup" webkit_print_operation_set_page_setup ::
Ptr PrintOperation ->
Ptr Gtk.PageSetup ->
IO ()
printOperationSetPageSetup ::
(MonadIO m, PrintOperationK a, Gtk.PageSetupK b) =>
a ->
b ->
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 ()
foreign import ccall "webkit_print_operation_set_print_settings" webkit_print_operation_set_print_settings ::
Ptr PrintOperation ->
Ptr Gtk.PrintSettings ->
IO ()
printOperationSetPrintSettings ::
(MonadIO m, PrintOperationK a, Gtk.PrintSettingsK b) =>
a ->
b ->
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 ()