module GI.Atk.Interfaces.Document
(
Document(..) ,
noDocument ,
IsDocument ,
DocumentGetAttributeValueMethodInfo ,
documentGetAttributeValue ,
DocumentGetAttributesMethodInfo ,
documentGetAttributes ,
DocumentGetCurrentPageNumberMethodInfo ,
documentGetCurrentPageNumber ,
DocumentGetDocumentMethodInfo ,
documentGetDocument ,
DocumentGetDocumentTypeMethodInfo ,
documentGetDocumentType ,
DocumentGetLocaleMethodInfo ,
documentGetLocale ,
DocumentGetPageCountMethodInfo ,
documentGetPageCount ,
DocumentSetAttributeValueMethodInfo ,
documentSetAttributeValue ,
C_DocumentLoadCompleteCallback ,
DocumentLoadCompleteCallback ,
DocumentLoadCompleteSignalInfo ,
afterDocumentLoadComplete ,
genClosure_DocumentLoadComplete ,
mk_DocumentLoadCompleteCallback ,
noDocumentLoadCompleteCallback ,
onDocumentLoadComplete ,
wrap_DocumentLoadCompleteCallback ,
C_DocumentLoadStoppedCallback ,
DocumentLoadStoppedCallback ,
DocumentLoadStoppedSignalInfo ,
afterDocumentLoadStopped ,
genClosure_DocumentLoadStopped ,
mk_DocumentLoadStoppedCallback ,
noDocumentLoadStoppedCallback ,
onDocumentLoadStopped ,
wrap_DocumentLoadStoppedCallback ,
C_DocumentPageChangedCallback ,
DocumentPageChangedCallback ,
DocumentPageChangedSignalInfo ,
afterDocumentPageChanged ,
genClosure_DocumentPageChanged ,
mk_DocumentPageChangedCallback ,
noDocumentPageChangedCallback ,
onDocumentPageChanged ,
wrap_DocumentPageChangedCallback ,
C_DocumentReloadCallback ,
DocumentReloadCallback ,
DocumentReloadSignalInfo ,
afterDocumentReload ,
genClosure_DocumentReload ,
mk_DocumentReloadCallback ,
noDocumentReloadCallback ,
onDocumentReload ,
wrap_DocumentReloadCallback ,
) 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
newtype Document = Document (ManagedPtr Document)
noDocument :: Maybe Document
noDocument = Nothing
type family ResolveDocumentMethod (t :: Symbol) (o :: *) :: * where
ResolveDocumentMethod "getAttributeValue" o = DocumentGetAttributeValueMethodInfo
ResolveDocumentMethod "getAttributes" o = DocumentGetAttributesMethodInfo
ResolveDocumentMethod "getCurrentPageNumber" o = DocumentGetCurrentPageNumberMethodInfo
ResolveDocumentMethod "getDocument" o = DocumentGetDocumentMethodInfo
ResolveDocumentMethod "getDocumentType" o = DocumentGetDocumentTypeMethodInfo
ResolveDocumentMethod "getLocale" o = DocumentGetLocaleMethodInfo
ResolveDocumentMethod "getPageCount" o = DocumentGetPageCountMethodInfo
ResolveDocumentMethod "setAttributeValue" o = DocumentSetAttributeValueMethodInfo
ResolveDocumentMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDocumentMethod t Document, O.MethodInfo info Document p) => O.IsLabelProxy t (Document -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDocumentMethod t Document, O.MethodInfo info Document p) => O.IsLabel t (Document -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
type DocumentLoadCompleteCallback =
IO ()
noDocumentLoadCompleteCallback :: Maybe DocumentLoadCompleteCallback
noDocumentLoadCompleteCallback = Nothing
type C_DocumentLoadCompleteCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DocumentLoadCompleteCallback :: C_DocumentLoadCompleteCallback -> IO (FunPtr C_DocumentLoadCompleteCallback)
genClosure_DocumentLoadComplete :: DocumentLoadCompleteCallback -> IO Closure
genClosure_DocumentLoadComplete cb = do
let cb' = wrap_DocumentLoadCompleteCallback cb
mk_DocumentLoadCompleteCallback cb' >>= newCClosure
wrap_DocumentLoadCompleteCallback ::
DocumentLoadCompleteCallback ->
Ptr () ->
Ptr () ->
IO ()
wrap_DocumentLoadCompleteCallback _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
let cb' = wrap_DocumentLoadCompleteCallback cb
cb'' <- mk_DocumentLoadCompleteCallback cb'
connectSignalFunPtr obj "load-complete" cb'' after
type DocumentLoadStoppedCallback =
IO ()
noDocumentLoadStoppedCallback :: Maybe DocumentLoadStoppedCallback
noDocumentLoadStoppedCallback = Nothing
type C_DocumentLoadStoppedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DocumentLoadStoppedCallback :: C_DocumentLoadStoppedCallback -> IO (FunPtr C_DocumentLoadStoppedCallback)
genClosure_DocumentLoadStopped :: DocumentLoadStoppedCallback -> IO Closure
genClosure_DocumentLoadStopped cb = do
let cb' = wrap_DocumentLoadStoppedCallback cb
mk_DocumentLoadStoppedCallback cb' >>= newCClosure
wrap_DocumentLoadStoppedCallback ::
DocumentLoadStoppedCallback ->
Ptr () ->
Ptr () ->
IO ()
wrap_DocumentLoadStoppedCallback _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
let cb' = wrap_DocumentLoadStoppedCallback cb
cb'' <- mk_DocumentLoadStoppedCallback cb'
connectSignalFunPtr obj "load-stopped" cb'' after
type DocumentPageChangedCallback =
Int32 ->
IO ()
noDocumentPageChangedCallback :: Maybe DocumentPageChangedCallback
noDocumentPageChangedCallback = Nothing
type C_DocumentPageChangedCallback =
Ptr () ->
Int32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DocumentPageChangedCallback :: C_DocumentPageChangedCallback -> IO (FunPtr C_DocumentPageChangedCallback)
genClosure_DocumentPageChanged :: DocumentPageChangedCallback -> IO Closure
genClosure_DocumentPageChanged cb = do
let cb' = wrap_DocumentPageChangedCallback cb
mk_DocumentPageChangedCallback cb' >>= newCClosure
wrap_DocumentPageChangedCallback ::
DocumentPageChangedCallback ->
Ptr () ->
Int32 ->
Ptr () ->
IO ()
wrap_DocumentPageChangedCallback _cb _ pageNumber _ = do
_cb pageNumber
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
let cb' = wrap_DocumentPageChangedCallback cb
cb'' <- mk_DocumentPageChangedCallback cb'
connectSignalFunPtr obj "page-changed" cb'' after
type DocumentReloadCallback =
IO ()
noDocumentReloadCallback :: Maybe DocumentReloadCallback
noDocumentReloadCallback = Nothing
type C_DocumentReloadCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DocumentReloadCallback :: C_DocumentReloadCallback -> IO (FunPtr C_DocumentReloadCallback)
genClosure_DocumentReload :: DocumentReloadCallback -> IO Closure
genClosure_DocumentReload cb = do
let cb' = wrap_DocumentReloadCallback cb
mk_DocumentReloadCallback cb' >>= newCClosure
wrap_DocumentReloadCallback ::
DocumentReloadCallback ->
Ptr () ->
Ptr () ->
IO ()
wrap_DocumentReloadCallback _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
let cb' = wrap_DocumentReloadCallback cb
cb'' <- mk_DocumentReloadCallback cb'
connectSignalFunPtr obj "reload" cb'' after
instance O.HasAttributeList Document
type instance O.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 O.SignalList Document = DocumentSignalList
type DocumentSignalList = ('[ '("loadComplete", DocumentLoadCompleteSignalInfo), '("loadStopped", DocumentLoadStoppedSignalInfo), '("pageChanged", DocumentPageChangedSignalInfo), '("reload", DocumentReloadSignalInfo)] :: [(Symbol, *)])
class ManagedPtrNewtype a => IsDocument a
instance IsDocument Document
instance WrappedPtr Document where
wrappedPtrCalloc = return nullPtr
wrappedPtrCopy = return
wrappedPtrFree = Nothing
foreign import ccall "atk_document_get_attribute_value" atk_document_get_attribute_value ::
Ptr Document ->
CString ->
IO CString
documentGetAttributeValue ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> T.Text
-> m (Maybe T.Text)
documentGetAttributeValue document attributeName = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
attributeName' <- textToCString attributeName
result <- atk_document_get_attribute_value document' attributeName'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr document
freeMem attributeName'
return maybeResult
data DocumentGetAttributeValueMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetAttributeValueMethodInfo a signature where
overloadedMethod _ = documentGetAttributeValue
foreign import ccall "atk_document_get_attributes" atk_document_get_attributes ::
Ptr Document ->
IO (Ptr (GSList (Ptr ())))
documentGetAttributes ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> m [Ptr ()]
documentGetAttributes document = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
result <- atk_document_get_attributes document'
result' <- unpackGSList result
touchManagedPtr document
return result'
data DocumentGetAttributesMethodInfo
instance (signature ~ (m [Ptr ()]), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetAttributesMethodInfo a signature where
overloadedMethod _ = documentGetAttributes
foreign import ccall "atk_document_get_current_page_number" atk_document_get_current_page_number ::
Ptr Document ->
IO Int32
documentGetCurrentPageNumber ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> m Int32
documentGetCurrentPageNumber document = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
result <- atk_document_get_current_page_number document'
touchManagedPtr document
return result
data DocumentGetCurrentPageNumberMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetCurrentPageNumberMethodInfo a signature where
overloadedMethod _ = documentGetCurrentPageNumber
foreign import ccall "atk_document_get_document" atk_document_get_document ::
Ptr Document ->
IO (Ptr ())
documentGetDocument ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> m (Ptr ())
documentGetDocument document = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
result <- atk_document_get_document document'
touchManagedPtr document
return result
data DocumentGetDocumentMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetDocumentMethodInfo a signature where
overloadedMethod _ = documentGetDocument
foreign import ccall "atk_document_get_document_type" atk_document_get_document_type ::
Ptr Document ->
IO CString
documentGetDocumentType ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> m T.Text
documentGetDocumentType document = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
result <- atk_document_get_document_type document'
checkUnexpectedReturnNULL "documentGetDocumentType" result
result' <- cstringToText result
touchManagedPtr document
return result'
data DocumentGetDocumentTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetDocumentTypeMethodInfo a signature where
overloadedMethod _ = documentGetDocumentType
foreign import ccall "atk_document_get_locale" atk_document_get_locale ::
Ptr Document ->
IO CString
documentGetLocale ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> m T.Text
documentGetLocale document = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
result <- atk_document_get_locale document'
checkUnexpectedReturnNULL "documentGetLocale" result
result' <- cstringToText result
touchManagedPtr document
return result'
data DocumentGetLocaleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetLocaleMethodInfo a signature where
overloadedMethod _ = documentGetLocale
foreign import ccall "atk_document_get_page_count" atk_document_get_page_count ::
Ptr Document ->
IO Int32
documentGetPageCount ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> m Int32
documentGetPageCount document = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
result <- atk_document_get_page_count document'
touchManagedPtr document
return result
data DocumentGetPageCountMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetPageCountMethodInfo a signature where
overloadedMethod _ = documentGetPageCount
foreign import ccall "atk_document_set_attribute_value" atk_document_set_attribute_value ::
Ptr Document ->
CString ->
CString ->
IO CInt
documentSetAttributeValue ::
(B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>
a
-> T.Text
-> T.Text
-> m Bool
documentSetAttributeValue document attributeName attributeValue = liftIO $ do
document' <- unsafeManagedPtrCastPtr document
attributeName' <- textToCString attributeName
attributeValue' <- textToCString attributeValue
result <- atk_document_set_attribute_value document' attributeName' attributeValue'
let result' = (/= 0) result
touchManagedPtr document
freeMem attributeName'
freeMem attributeValue'
return result'
data DocumentSetAttributeValueMethodInfo
instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsDocument a) => O.MethodInfo DocumentSetAttributeValueMethodInfo a signature where
overloadedMethod _ = documentSetAttributeValue