gi-gtk-0.3.16.12: GI/Gtk/Objects/CssProvider.hs
{- |
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.Gtk.Objects.CssProvider
(
-- * Exported types
CssProvider(..) ,
CssProviderK ,
toCssProvider ,
noCssProvider ,
-- * Methods
-- ** cssProviderGetDefault
cssProviderGetDefault ,
-- ** cssProviderGetNamed
cssProviderGetNamed ,
-- ** cssProviderLoadFromData
cssProviderLoadFromData ,
-- ** cssProviderLoadFromFile
cssProviderLoadFromFile ,
-- ** cssProviderLoadFromPath
cssProviderLoadFromPath ,
-- ** cssProviderLoadFromResource
cssProviderLoadFromResource ,
-- ** cssProviderNew
cssProviderNew ,
-- ** cssProviderToString
cssProviderToString ,
-- * Signals
-- ** ParsingError
CssProviderParsingErrorCallback ,
CssProviderParsingErrorCallbackC ,
CssProviderParsingErrorSignalInfo ,
afterCssProviderParsingError ,
cssProviderParsingErrorCallbackWrapper ,
cssProviderParsingErrorClosure ,
mkCssProviderParsingErrorCallback ,
noCssProviderParsingErrorCallback ,
onCssProviderParsingError ,
) 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.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
import qualified GI.Gio as Gio
newtype CssProvider = CssProvider (ForeignPtr CssProvider)
foreign import ccall "gtk_css_provider_get_type"
c_gtk_css_provider_get_type :: IO GType
type instance ParentTypes CssProvider = CssProviderParentTypes
type CssProviderParentTypes = '[GObject.Object, StyleProvider]
instance GObject CssProvider where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_css_provider_get_type
class GObject o => CssProviderK o
instance (GObject o, IsDescendantOf CssProvider o) => CssProviderK o
toCssProvider :: CssProviderK o => o -> IO CssProvider
toCssProvider = unsafeCastTo CssProvider
noCssProvider :: Maybe CssProvider
noCssProvider = Nothing
-- signal CssProvider::parsing-error
type CssProviderParsingErrorCallback =
CssSection ->
GError ->
IO ()
noCssProviderParsingErrorCallback :: Maybe CssProviderParsingErrorCallback
noCssProviderParsingErrorCallback = Nothing
type CssProviderParsingErrorCallbackC =
Ptr () -> -- object
Ptr CssSection ->
Ptr GError ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkCssProviderParsingErrorCallback :: CssProviderParsingErrorCallbackC -> IO (FunPtr CssProviderParsingErrorCallbackC)
cssProviderParsingErrorClosure :: CssProviderParsingErrorCallback -> IO Closure
cssProviderParsingErrorClosure cb = newCClosure =<< mkCssProviderParsingErrorCallback wrapped
where wrapped = cssProviderParsingErrorCallbackWrapper cb
cssProviderParsingErrorCallbackWrapper ::
CssProviderParsingErrorCallback ->
Ptr () ->
Ptr CssSection ->
Ptr GError ->
Ptr () ->
IO ()
cssProviderParsingErrorCallbackWrapper _cb _ section error_ _ = do
section' <- (newBoxed CssSection) section
error_' <- (newBoxed GError) error_
_cb section' error_'
onCssProviderParsingError :: (GObject a, MonadIO m) => a -> CssProviderParsingErrorCallback -> m SignalHandlerId
onCssProviderParsingError obj cb = liftIO $ connectCssProviderParsingError obj cb SignalConnectBefore
afterCssProviderParsingError :: (GObject a, MonadIO m) => a -> CssProviderParsingErrorCallback -> m SignalHandlerId
afterCssProviderParsingError obj cb = connectCssProviderParsingError obj cb SignalConnectAfter
connectCssProviderParsingError :: (GObject a, MonadIO m) =>
a -> CssProviderParsingErrorCallback -> SignalConnectMode -> m SignalHandlerId
connectCssProviderParsingError obj cb after = liftIO $ do
cb' <- mkCssProviderParsingErrorCallback (cssProviderParsingErrorCallbackWrapper cb)
connectSignalFunPtr obj "parsing-error" cb' after
type instance AttributeList CssProvider = CssProviderAttributeList
type CssProviderAttributeList = ('[ ] :: [(Symbol, *)])
data CssProviderParsingErrorSignalInfo
instance SignalInfo CssProviderParsingErrorSignalInfo where
type HaskellCallbackType CssProviderParsingErrorSignalInfo = CssProviderParsingErrorCallback
connectSignal _ = connectCssProviderParsingError
type instance SignalList CssProvider = CssProviderSignalList
type CssProviderSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("parsing-error", CssProviderParsingErrorSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method CssProvider::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gtk" "CssProvider"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_css_provider_new" gtk_css_provider_new ::
IO (Ptr CssProvider)
cssProviderNew ::
(MonadIO m) =>
m CssProvider
cssProviderNew = liftIO $ do
result <- gtk_css_provider_new
checkUnexpectedReturnNULL "gtk_css_provider_new" result
result' <- (wrapObject CssProvider) result
return result'
-- method CssProvider::load_from_data
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "gtk_css_provider_load_from_data" gtk_css_provider_load_from_data ::
Ptr CssProvider -> -- _obj : TInterface "Gtk" "CssProvider"
Ptr Word8 -> -- data : TCArray False (-1) 2 (TBasicType TUInt8)
Int64 -> -- length : TBasicType TInt64
Ptr (Ptr GError) -> -- error
IO CInt
cssProviderLoadFromData ::
(MonadIO m, CssProviderK a) =>
a -> -- _obj
ByteString -> -- data
m ()
cssProviderLoadFromData _obj data_ = liftIO $ do
let length_ = fromIntegral $ B.length data_
let _obj' = unsafeManagedPtrCastPtr _obj
data_' <- packByteString data_
onException (do
_ <- propagateGError $ gtk_css_provider_load_from_data _obj' data_' length_
touchManagedPtr _obj
freeMem data_'
return ()
) (do
freeMem data_'
)
-- method CssProvider::load_from_file
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file", argType = TInterface "Gio" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file", argType = TInterface "Gio" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "gtk_css_provider_load_from_file" gtk_css_provider_load_from_file ::
Ptr CssProvider -> -- _obj : TInterface "Gtk" "CssProvider"
Ptr Gio.File -> -- file : TInterface "Gio" "File"
Ptr (Ptr GError) -> -- error
IO CInt
cssProviderLoadFromFile ::
(MonadIO m, CssProviderK a, Gio.FileK b) =>
a -> -- _obj
b -> -- file
m ()
cssProviderLoadFromFile _obj file = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let file' = unsafeManagedPtrCastPtr file
onException (do
_ <- propagateGError $ gtk_css_provider_load_from_file _obj' file'
touchManagedPtr _obj
touchManagedPtr file
return ()
) (do
return ()
)
-- method CssProvider::load_from_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "gtk_css_provider_load_from_path" gtk_css_provider_load_from_path ::
Ptr CssProvider -> -- _obj : TInterface "Gtk" "CssProvider"
CString -> -- path : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO CInt
cssProviderLoadFromPath ::
(MonadIO m, CssProviderK a) =>
a -> -- _obj
T.Text -> -- path
m ()
cssProviderLoadFromPath _obj path = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
path' <- textToCString path
onException (do
_ <- propagateGError $ gtk_css_provider_load_from_path _obj' path'
touchManagedPtr _obj
freeMem path'
return ()
) (do
freeMem path'
)
-- method CssProvider::load_from_resource
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_css_provider_load_from_resource" gtk_css_provider_load_from_resource ::
Ptr CssProvider -> -- _obj : TInterface "Gtk" "CssProvider"
CString -> -- resource_path : TBasicType TUTF8
IO ()
cssProviderLoadFromResource ::
(MonadIO m, CssProviderK a) =>
a -> -- _obj
T.Text -> -- resource_path
m ()
cssProviderLoadFromResource _obj resource_path = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
resource_path' <- textToCString resource_path
gtk_css_provider_load_from_resource _obj' resource_path'
touchManagedPtr _obj
freeMem resource_path'
return ()
-- method CssProvider::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "CssProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gtk_css_provider_to_string" gtk_css_provider_to_string ::
Ptr CssProvider -> -- _obj : TInterface "Gtk" "CssProvider"
IO CString
cssProviderToString ::
(MonadIO m, CssProviderK a) =>
a -> -- _obj
m T.Text
cssProviderToString _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_css_provider_to_string _obj'
checkUnexpectedReturnNULL "gtk_css_provider_to_string" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
-- method CssProvider::get_default
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gtk" "CssProvider"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_css_provider_get_default" gtk_css_provider_get_default ::
IO (Ptr CssProvider)
cssProviderGetDefault ::
(MonadIO m) =>
m CssProvider
cssProviderGetDefault = liftIO $ do
result <- gtk_css_provider_get_default
checkUnexpectedReturnNULL "gtk_css_provider_get_default" result
result' <- (newObject CssProvider) result
return result'
-- method CssProvider::get_named
-- method type : MemberFunction
-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "CssProvider"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_css_provider_get_named" gtk_css_provider_get_named ::
CString -> -- name : TBasicType TUTF8
CString -> -- variant : TBasicType TUTF8
IO (Ptr CssProvider)
cssProviderGetNamed ::
(MonadIO m) =>
T.Text -> -- name
Maybe (T.Text) -> -- variant
m CssProvider
cssProviderGetNamed name variant = liftIO $ do
name' <- textToCString name
maybeVariant <- case variant of
Nothing -> return nullPtr
Just jVariant -> do
jVariant' <- textToCString jVariant
return jVariant'
result <- gtk_css_provider_get_named name' maybeVariant
checkUnexpectedReturnNULL "gtk_css_provider_get_named" result
result' <- (newObject CssProvider) result
freeMem name'
freeMem maybeVariant
return result'