module Graphics.UI.Gtk.SourceView.SourceLanguage (
SourceLanguage,
SourceLanguageClass,
castToSourceLanguage,
sourceLanguageGetId,
sourceLanguageGetName,
sourceLanguageGetSection,
sourceLanguageGetHidden,
sourceLanguageGetMetadata,
sourceLanguageGetMimeTypes,
sourceLanguageGetGlobs,
sourceLanguageGetStyleName,
sourceLanguageGetStyleIds,
sourceLanguageHidden,
sourceLanguageId,
sourceLanguageName,
sourceLanguageSection
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import System.Glib.Attributes
import System.Glib.FFI
import System.Glib.UTFString
import Graphics.UI.Gtk.SourceView.SourceStyleScheme
import Graphics.UI.Gtk.SourceView.Types
import System.Glib.Properties
sourceLanguageGetId :: SourceLanguageClass sl => sl
-> IO String
sourceLanguageGetId sl =
(\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_id argPtr1) (toSourceLanguage sl) >>= peekUTFString
sourceLanguageGetName :: SourceLanguageClass sl => sl
-> IO String
sourceLanguageGetName sl =
(\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_name argPtr1) (toSourceLanguage sl) >>= peekUTFString
sourceLanguageGetSection :: SourceLanguageClass sl => sl
-> IO String
sourceLanguageGetSection sl =
(\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_section argPtr1) (toSourceLanguage sl) >>= peekUTFString
sourceLanguageGetHidden :: SourceLanguageClass sl => sl
-> IO Bool
sourceLanguageGetHidden sl = liftM toBool $
(\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_hidden argPtr1) (toSourceLanguage sl)
sourceLanguageGetMetadata :: SourceLanguageClass sl => sl
-> String
-> IO String
sourceLanguageGetMetadata sl name = do
withUTFString name ((\(SourceLanguage arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_metadata argPtr1 arg2) (toSourceLanguage sl)) >>= peekUTFString
sourceLanguageGetMimeTypes :: SourceLanguageClass sl => sl
-> IO [String]
sourceLanguageGetMimeTypes sl = do
mimeTypesArray <- (\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_mime_types argPtr1) (toSourceLanguage sl)
mimeTypes <- liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 mimeTypesArray
g_strfreev mimeTypesArray
return mimeTypes
sourceLanguageGetGlobs :: SourceLanguageClass sl => sl
-> IO [String]
sourceLanguageGetGlobs sl = do
globsArray <- (\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_globs argPtr1) (toSourceLanguage sl)
globs <- liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 globsArray
g_strfreev globsArray
return globs
sourceLanguageGetStyleName :: SourceLanguageClass sl => sl
-> String
-> IO String
sourceLanguageGetStyleName sl styleId =
withUTFString styleId $ \styleIdPtr ->
(\(SourceLanguage arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_style_name argPtr1 arg2)
(toSourceLanguage sl)
styleIdPtr
>>= peekUTFString
sourceLanguageGetStyleIds :: SourceLanguageClass sl => sl
-> IO [String]
sourceLanguageGetStyleIds sl = do
globsArray <- (\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_language_get_style_ids argPtr1) (toSourceLanguage sl)
globs <- liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 globsArray
g_strfreev globsArray
return globs
sourceLanguageHidden :: SourceLanguageClass sl => ReadAttr sl Bool
sourceLanguageHidden = readAttrFromBoolProperty "hidden"
sourceLanguageId :: SourceLanguageClass sl => ReadAttr sl String
sourceLanguageId = readAttrFromStringProperty "id"
sourceLanguageName :: SourceLanguageClass sl => ReadAttr sl String
sourceLanguageName = readAttrFromStringProperty "name"
sourceLanguageSection :: SourceLanguageClass sl => ReadAttr sl String
sourceLanguageSection = readAttrFromStringProperty "section"
foreign import ccall unsafe "gtk_source_language_get_id"
gtk_source_language_get_id :: ((Ptr SourceLanguage) -> (IO (Ptr CChar)))
foreign import ccall unsafe "gtk_source_language_get_name"
gtk_source_language_get_name :: ((Ptr SourceLanguage) -> (IO (Ptr CChar)))
foreign import ccall unsafe "gtk_source_language_get_section"
gtk_source_language_get_section :: ((Ptr SourceLanguage) -> (IO (Ptr CChar)))
foreign import ccall unsafe "gtk_source_language_get_hidden"
gtk_source_language_get_hidden :: ((Ptr SourceLanguage) -> (IO CInt))
foreign import ccall unsafe "gtk_source_language_get_metadata"
gtk_source_language_get_metadata :: ((Ptr SourceLanguage) -> ((Ptr CChar) -> (IO (Ptr CChar))))
foreign import ccall unsafe "gtk_source_language_get_mime_types"
gtk_source_language_get_mime_types :: ((Ptr SourceLanguage) -> (IO (Ptr (Ptr CChar))))
foreign import ccall safe "g_strfreev"
g_strfreev :: ((Ptr (Ptr CChar)) -> (IO ()))
foreign import ccall unsafe "gtk_source_language_get_globs"
gtk_source_language_get_globs :: ((Ptr SourceLanguage) -> (IO (Ptr (Ptr CChar))))
foreign import ccall safe "gtk_source_language_get_style_name"
gtk_source_language_get_style_name :: ((Ptr SourceLanguage) -> ((Ptr CChar) -> (IO (Ptr CChar))))
foreign import ccall safe "gtk_source_language_get_style_ids"
gtk_source_language_get_style_ids :: ((Ptr SourceLanguage) -> (IO (Ptr (Ptr CChar))))