module GI.Atk.Interfaces.Document
(
Document(..) ,
noDocument ,
DocumentK ,
documentGetAttributeValue ,
documentGetAttributes ,
documentGetCurrentPageNumber ,
documentGetDocument ,
documentGetDocumentType ,
documentGetLocale ,
documentGetPageCount ,
documentSetAttributeValue ,
DocumentLoadCompleteCallback ,
DocumentLoadCompleteCallbackC ,
DocumentLoadCompleteSignalInfo ,
afterDocumentLoadComplete ,
documentLoadCompleteCallbackWrapper ,
documentLoadCompleteClosure ,
mkDocumentLoadCompleteCallback ,
noDocumentLoadCompleteCallback ,
onDocumentLoadComplete ,
DocumentLoadStoppedCallback ,
DocumentLoadStoppedCallbackC ,
DocumentLoadStoppedSignalInfo ,
afterDocumentLoadStopped ,
documentLoadStoppedCallbackWrapper ,
documentLoadStoppedClosure ,
mkDocumentLoadStoppedCallback ,
noDocumentLoadStoppedCallback ,
onDocumentLoadStopped ,
DocumentPageChangedCallback ,
DocumentPageChangedCallbackC ,
DocumentPageChangedSignalInfo ,
afterDocumentPageChanged ,
documentPageChangedCallbackWrapper ,
documentPageChangedClosure ,
mkDocumentPageChangedCallback ,
noDocumentPageChangedCallback ,
onDocumentPageChanged ,
DocumentReloadCallback ,
DocumentReloadCallbackC ,
DocumentReloadSignalInfo ,
afterDocumentReload ,
documentReloadCallbackWrapper ,
documentReloadClosure ,
mkDocumentReloadCallback ,
noDocumentReloadCallback ,
onDocumentReload ,
) 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.Atk.Types
import GI.Atk.Callbacks
newtype Document = Document (ForeignPtr Document)
noDocument :: Maybe Document
noDocument = Nothing
type DocumentLoadCompleteCallback =
IO ()
noDocumentLoadCompleteCallback :: Maybe DocumentLoadCompleteCallback
noDocumentLoadCompleteCallback = Nothing
type DocumentLoadCompleteCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkDocumentLoadCompleteCallback :: DocumentLoadCompleteCallbackC -> IO (FunPtr DocumentLoadCompleteCallbackC)
documentLoadCompleteClosure :: DocumentLoadCompleteCallback -> IO Closure
documentLoadCompleteClosure cb = newCClosure =<< mkDocumentLoadCompleteCallback wrapped
where wrapped = documentLoadCompleteCallbackWrapper cb
documentLoadCompleteCallbackWrapper ::
DocumentLoadCompleteCallback ->
Ptr () ->
Ptr () ->
IO ()
documentLoadCompleteCallbackWrapper _cb _ _ = do
_cb
onDocumentLoadComplete :: (GObject a, MonadIO m) => a -> DocumentLoadCompleteCallback -> m SignalHandlerId
onDocumentLoadComplete obj cb = liftIO $ connectDocumentLoadComplete obj cb SignalConnectBefore
afterDocumentLoadComplete :: (GObject a, MonadIO m) => a -> DocumentLoadCompleteCallback -> m SignalHandlerId
afterDocumentLoadComplete obj cb = connectDocumentLoadComplete obj cb SignalConnectAfter
connectDocumentLoadComplete :: (GObject a, MonadIO m) =>
a -> DocumentLoadCompleteCallback -> SignalConnectMode -> m SignalHandlerId
connectDocumentLoadComplete obj cb after = liftIO $ do
cb' <- mkDocumentLoadCompleteCallback (documentLoadCompleteCallbackWrapper cb)
connectSignalFunPtr obj "load-complete" cb' after
type DocumentLoadStoppedCallback =
IO ()
noDocumentLoadStoppedCallback :: Maybe DocumentLoadStoppedCallback
noDocumentLoadStoppedCallback = Nothing
type DocumentLoadStoppedCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkDocumentLoadStoppedCallback :: DocumentLoadStoppedCallbackC -> IO (FunPtr DocumentLoadStoppedCallbackC)
documentLoadStoppedClosure :: DocumentLoadStoppedCallback -> IO Closure
documentLoadStoppedClosure cb = newCClosure =<< mkDocumentLoadStoppedCallback wrapped
where wrapped = documentLoadStoppedCallbackWrapper cb
documentLoadStoppedCallbackWrapper ::
DocumentLoadStoppedCallback ->
Ptr () ->
Ptr () ->
IO ()
documentLoadStoppedCallbackWrapper _cb _ _ = do
_cb
onDocumentLoadStopped :: (GObject a, MonadIO m) => a -> DocumentLoadStoppedCallback -> m SignalHandlerId
onDocumentLoadStopped obj cb = liftIO $ connectDocumentLoadStopped obj cb SignalConnectBefore
afterDocumentLoadStopped :: (GObject a, MonadIO m) => a -> DocumentLoadStoppedCallback -> m SignalHandlerId
afterDocumentLoadStopped obj cb = connectDocumentLoadStopped obj cb SignalConnectAfter
connectDocumentLoadStopped :: (GObject a, MonadIO m) =>
a -> DocumentLoadStoppedCallback -> SignalConnectMode -> m SignalHandlerId
connectDocumentLoadStopped obj cb after = liftIO $ do
cb' <- mkDocumentLoadStoppedCallback (documentLoadStoppedCallbackWrapper cb)
connectSignalFunPtr obj "load-stopped" cb' after
type DocumentPageChangedCallback =
Int32 ->
IO ()
noDocumentPageChangedCallback :: Maybe DocumentPageChangedCallback
noDocumentPageChangedCallback = Nothing
type DocumentPageChangedCallbackC =
Ptr () ->
Int32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkDocumentPageChangedCallback :: DocumentPageChangedCallbackC -> IO (FunPtr DocumentPageChangedCallbackC)
documentPageChangedClosure :: DocumentPageChangedCallback -> IO Closure
documentPageChangedClosure cb = newCClosure =<< mkDocumentPageChangedCallback wrapped
where wrapped = documentPageChangedCallbackWrapper cb
documentPageChangedCallbackWrapper ::
DocumentPageChangedCallback ->
Ptr () ->
Int32 ->
Ptr () ->
IO ()
documentPageChangedCallbackWrapper _cb _ page_number _ = do
_cb page_number
onDocumentPageChanged :: (GObject a, MonadIO m) => a -> DocumentPageChangedCallback -> m SignalHandlerId
onDocumentPageChanged obj cb = liftIO $ connectDocumentPageChanged obj cb SignalConnectBefore
afterDocumentPageChanged :: (GObject a, MonadIO m) => a -> DocumentPageChangedCallback -> m SignalHandlerId
afterDocumentPageChanged obj cb = connectDocumentPageChanged obj cb SignalConnectAfter
connectDocumentPageChanged :: (GObject a, MonadIO m) =>
a -> DocumentPageChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectDocumentPageChanged obj cb after = liftIO $ do
cb' <- mkDocumentPageChangedCallback (documentPageChangedCallbackWrapper cb)
connectSignalFunPtr obj "page-changed" cb' after
type DocumentReloadCallback =
IO ()
noDocumentReloadCallback :: Maybe DocumentReloadCallback
noDocumentReloadCallback = Nothing
type DocumentReloadCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkDocumentReloadCallback :: DocumentReloadCallbackC -> IO (FunPtr DocumentReloadCallbackC)
documentReloadClosure :: DocumentReloadCallback -> IO Closure
documentReloadClosure cb = newCClosure =<< mkDocumentReloadCallback wrapped
where wrapped = documentReloadCallbackWrapper cb
documentReloadCallbackWrapper ::
DocumentReloadCallback ->
Ptr () ->
Ptr () ->
IO ()
documentReloadCallbackWrapper _cb _ _ = do
_cb
onDocumentReload :: (GObject a, MonadIO m) => a -> DocumentReloadCallback -> m SignalHandlerId
onDocumentReload obj cb = liftIO $ connectDocumentReload obj cb SignalConnectBefore
afterDocumentReload :: (GObject a, MonadIO m) => a -> DocumentReloadCallback -> m SignalHandlerId
afterDocumentReload obj cb = connectDocumentReload obj cb SignalConnectAfter
connectDocumentReload :: (GObject a, MonadIO m) =>
a -> DocumentReloadCallback -> SignalConnectMode -> m SignalHandlerId
connectDocumentReload obj cb after = liftIO $ do
cb' <- mkDocumentReloadCallback (documentReloadCallbackWrapper cb)
connectSignalFunPtr obj "reload" cb' after
type instance AttributeList Document = DocumentAttributeList
type DocumentAttributeList = ('[ ] :: [(Symbol, *)])
data DocumentLoadCompleteSignalInfo
instance SignalInfo DocumentLoadCompleteSignalInfo where
type HaskellCallbackType DocumentLoadCompleteSignalInfo = DocumentLoadCompleteCallback
connectSignal _ = connectDocumentLoadComplete
data DocumentLoadStoppedSignalInfo
instance SignalInfo DocumentLoadStoppedSignalInfo where
type HaskellCallbackType DocumentLoadStoppedSignalInfo = DocumentLoadStoppedCallback
connectSignal _ = connectDocumentLoadStopped
data DocumentPageChangedSignalInfo
instance SignalInfo DocumentPageChangedSignalInfo where
type HaskellCallbackType DocumentPageChangedSignalInfo = DocumentPageChangedCallback
connectSignal _ = connectDocumentPageChanged
data DocumentReloadSignalInfo
instance SignalInfo DocumentReloadSignalInfo where
type HaskellCallbackType DocumentReloadSignalInfo = DocumentReloadCallback
connectSignal _ = connectDocumentReload
type instance SignalList Document = DocumentSignalList
type DocumentSignalList = ('[ '("load-complete", DocumentLoadCompleteSignalInfo), '("load-stopped", DocumentLoadStoppedSignalInfo), '("page-changed", DocumentPageChangedSignalInfo), '("reload", DocumentReloadSignalInfo)] :: [(Symbol, *)])
class ForeignPtrNewtype a => DocumentK a
instance (ForeignPtrNewtype o, IsDescendantOf Document o) => DocumentK o
type instance ParentTypes Document = DocumentParentTypes
type DocumentParentTypes = '[]
foreign import ccall "atk_document_get_attribute_value" atk_document_get_attribute_value ::
Ptr Document ->
CString ->
IO CString
documentGetAttributeValue ::
(MonadIO m, DocumentK a) =>
a ->
T.Text ->
m T.Text
documentGetAttributeValue _obj attribute_name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
attribute_name' <- textToCString attribute_name
result <- atk_document_get_attribute_value _obj' attribute_name'
checkUnexpectedReturnNULL "atk_document_get_attribute_value" result
result' <- cstringToText result
touchManagedPtr _obj
freeMem attribute_name'
return result'
foreign import ccall "atk_document_get_attributes" atk_document_get_attributes ::
Ptr Document ->
IO (Ptr (GSList (Ptr ())))
documentGetAttributes ::
(MonadIO m, DocumentK a) =>
a ->
m [Ptr ()]
documentGetAttributes _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_document_get_attributes _obj'
checkUnexpectedReturnNULL "atk_document_get_attributes" result
result' <- unpackGSList result
touchManagedPtr _obj
return result'
foreign import ccall "atk_document_get_current_page_number" atk_document_get_current_page_number ::
Ptr Document ->
IO Int32
documentGetCurrentPageNumber ::
(MonadIO m, DocumentK a) =>
a ->
m Int32
documentGetCurrentPageNumber _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_document_get_current_page_number _obj'
touchManagedPtr _obj
return result
foreign import ccall "atk_document_get_document" atk_document_get_document ::
Ptr Document ->
IO ()
documentGetDocument ::
(MonadIO m, DocumentK a) =>
a ->
m ()
documentGetDocument _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
atk_document_get_document _obj'
touchManagedPtr _obj
return ()
foreign import ccall "atk_document_get_document_type" atk_document_get_document_type ::
Ptr Document ->
IO CString
documentGetDocumentType ::
(MonadIO m, DocumentK a) =>
a ->
m T.Text
documentGetDocumentType _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_document_get_document_type _obj'
checkUnexpectedReturnNULL "atk_document_get_document_type" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "atk_document_get_locale" atk_document_get_locale ::
Ptr Document ->
IO CString
documentGetLocale ::
(MonadIO m, DocumentK a) =>
a ->
m T.Text
documentGetLocale _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_document_get_locale _obj'
checkUnexpectedReturnNULL "atk_document_get_locale" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "atk_document_get_page_count" atk_document_get_page_count ::
Ptr Document ->
IO Int32
documentGetPageCount ::
(MonadIO m, DocumentK a) =>
a ->
m Int32
documentGetPageCount _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_document_get_page_count _obj'
touchManagedPtr _obj
return result
foreign import ccall "atk_document_set_attribute_value" atk_document_set_attribute_value ::
Ptr Document ->
CString ->
CString ->
IO CInt
documentSetAttributeValue ::
(MonadIO m, DocumentK a) =>
a ->
T.Text ->
T.Text ->
m Bool
documentSetAttributeValue _obj attribute_name attribute_value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
attribute_name' <- textToCString attribute_name
attribute_value' <- textToCString attribute_value
result <- atk_document_set_attribute_value _obj' attribute_name' attribute_value'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem attribute_name'
freeMem attribute_value'
return result'