{-# LINE 2 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
module Graphics.UI.Gtk.Multiline.TextMark (
TextMark,
TextMarkClass,
castToTextMark, gTypeTextMark,
toTextMark,
MarkName,
textMarkNew,
textMarkSetVisible,
textMarkGetVisible,
textMarkGetDeleted,
textMarkGetName,
textMarkGetBuffer,
textMarkGetLeftGravity,
textMarkName,
textMarkVisible,
textMarkLeftGravity
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Types
{-# LINE 95 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
{-# LINE 97 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
type MarkName = DefaultGlibString
textMarkNew ::
Maybe MarkName
-> Bool
-> IO TextMark
textMarkNew :: Maybe MarkName -> Bool -> IO TextMark
textMarkNew Maybe MarkName
markName Bool
leftGravity =
(ForeignPtr TextMark -> TextMark, FinalizerPtr TextMark)
-> IO (Ptr TextMark) -> IO TextMark
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr TextMark -> TextMark, FinalizerPtr TextMark)
forall {a}. (ForeignPtr TextMark -> TextMark, FinalizerPtr a)
mkTextMark (IO (Ptr TextMark) -> IO TextMark)
-> IO (Ptr TextMark) -> IO TextMark
forall a b. (a -> b) -> a -> b
$
(MarkName -> (Ptr CChar -> IO (Ptr TextMark)) -> IO (Ptr TextMark))
-> Maybe MarkName
-> (Ptr CChar -> IO (Ptr TextMark))
-> IO (Ptr TextMark)
forall a b c.
(a -> (Ptr b -> IO c) -> IO c)
-> Maybe a -> (Ptr b -> IO c) -> IO c
maybeWith MarkName -> (Ptr CChar -> IO (Ptr TextMark)) -> IO (Ptr TextMark)
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
forall a. MarkName -> (Ptr CChar -> IO a) -> IO a
withUTFString Maybe MarkName
markName ((Ptr CChar -> IO (Ptr TextMark)) -> IO (Ptr TextMark))
-> (Ptr CChar -> IO (Ptr TextMark)) -> IO (Ptr TextMark)
forall a b. (a -> b) -> a -> b
$ \Ptr CChar
markNamePtr ->
Ptr CChar -> CInt -> IO (Ptr TextMark)
gtk_text_mark_new
{-# LINE 125 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
markNamePtr
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
leftGravity)
textMarkSetVisible :: TextMarkClass self => self -> Bool -> IO ()
textMarkSetVisible :: forall self. TextMarkClass self => self -> Bool -> IO ()
textMarkSetVisible self
self Bool
setting =
(\(TextMark ForeignPtr TextMark
arg1) CInt
arg2 -> ForeignPtr TextMark -> (Ptr TextMark -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TextMark
arg1 ((Ptr TextMark -> IO ()) -> IO ())
-> (Ptr TextMark -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr TextMark
argPtr1 ->Ptr TextMark -> CInt -> IO ()
gtk_text_mark_set_visible Ptr TextMark
argPtr1 CInt
arg2)
{-# LINE 140 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
(toTextMark self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
setting)
textMarkGetVisible :: TextMarkClass self => self -> IO Bool
textMarkGetVisible :: forall self. TextMarkClass self => self -> IO Bool
textMarkGetVisible self
self =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(TextMark ForeignPtr TextMark
arg1) -> ForeignPtr TextMark -> (Ptr TextMark -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TextMark
arg1 ((Ptr TextMark -> IO CInt) -> IO CInt)
-> (Ptr TextMark -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr TextMark
argPtr1 ->Ptr TextMark -> IO CInt
gtk_text_mark_get_visible Ptr TextMark
argPtr1)
{-# LINE 149 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
(toTextMark self)
textMarkGetDeleted :: TextMarkClass self => self -> IO Bool
textMarkGetDeleted :: forall self. TextMarkClass self => self -> IO Bool
textMarkGetDeleted self
self =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(TextMark ForeignPtr TextMark
arg1) -> ForeignPtr TextMark -> (Ptr TextMark -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TextMark
arg1 ((Ptr TextMark -> IO CInt) -> IO CInt)
-> (Ptr TextMark -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr TextMark
argPtr1 ->Ptr TextMark -> IO CInt
gtk_text_mark_get_deleted Ptr TextMark
argPtr1)
{-# LINE 159 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
(toTextMark self)
textMarkGetName :: TextMarkClass self => self -> IO (Maybe MarkName)
textMarkGetName :: forall self. TextMarkClass self => self -> IO (Maybe MarkName)
textMarkGetName self
self =
(\(TextMark ForeignPtr TextMark
arg1) -> ForeignPtr TextMark
-> (Ptr TextMark -> IO (Ptr CChar)) -> IO (Ptr CChar)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TextMark
arg1 ((Ptr TextMark -> IO (Ptr CChar)) -> IO (Ptr CChar))
-> (Ptr TextMark -> IO (Ptr CChar)) -> IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ \Ptr TextMark
argPtr1 ->Ptr TextMark -> IO (Ptr CChar)
gtk_text_mark_get_name Ptr TextMark
argPtr1)
{-# LINE 166 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
(toTextMark self)
IO (Ptr CChar)
-> (Ptr CChar -> IO (Maybe MarkName)) -> IO (Maybe MarkName)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (Ptr CChar -> IO MarkName) -> Ptr CChar -> IO (Maybe MarkName)
forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek Ptr CChar -> IO MarkName
forall s. GlibString s => Ptr CChar -> IO s
peekUTFString
textMarkGetBuffer :: TextMarkClass self => self -> IO (Maybe TextBuffer)
textMarkGetBuffer :: forall self. TextMarkClass self => self -> IO (Maybe TextBuffer)
textMarkGetBuffer self
self =
(IO (Ptr TextBuffer) -> IO TextBuffer)
-> IO (Ptr TextBuffer) -> IO (Maybe TextBuffer)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr TextBuffer -> TextBuffer, FinalizerPtr TextBuffer)
-> IO (Ptr TextBuffer) -> IO TextBuffer
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr TextBuffer -> TextBuffer, FinalizerPtr TextBuffer)
forall {a}. (ForeignPtr TextBuffer -> TextBuffer, FinalizerPtr a)
mkTextBuffer) (IO (Ptr TextBuffer) -> IO (Maybe TextBuffer))
-> IO (Ptr TextBuffer) -> IO (Maybe TextBuffer)
forall a b. (a -> b) -> a -> b
$
(\(TextMark ForeignPtr TextMark
arg1) -> ForeignPtr TextMark
-> (Ptr TextMark -> IO (Ptr TextBuffer)) -> IO (Ptr TextBuffer)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TextMark
arg1 ((Ptr TextMark -> IO (Ptr TextBuffer)) -> IO (Ptr TextBuffer))
-> (Ptr TextMark -> IO (Ptr TextBuffer)) -> IO (Ptr TextBuffer)
forall a b. (a -> b) -> a -> b
$ \Ptr TextMark
argPtr1 ->Ptr TextMark -> IO (Ptr TextBuffer)
gtk_text_mark_get_buffer Ptr TextMark
argPtr1)
{-# LINE 176 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
(toTextMark self)
textMarkGetLeftGravity :: TextMarkClass self => self -> IO Bool
textMarkGetLeftGravity :: forall self. TextMarkClass self => self -> IO Bool
textMarkGetLeftGravity self
self =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(TextMark ForeignPtr TextMark
arg1) -> ForeignPtr TextMark -> (Ptr TextMark -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TextMark
arg1 ((Ptr TextMark -> IO CInt) -> IO CInt)
-> (Ptr TextMark -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr TextMark
argPtr1 ->Ptr TextMark -> IO CInt
gtk_text_mark_get_left_gravity Ptr TextMark
argPtr1)
{-# LINE 187 "./Graphics/UI/Gtk/Multiline/TextMark.chs" #-}
(toTextMark self)
textMarkName :: TextMarkClass self => ReadAttr self (Maybe MarkName)
textMarkName :: forall self. TextMarkClass self => ReadAttr self (Maybe MarkName)
textMarkName = String -> ReadAttr self (Maybe MarkName)
forall gobj string.
(GObjectClass gobj, GlibString string) =>
String -> ReadAttr gobj (Maybe string)
readAttrFromMaybeStringProperty String
"name"
textMarkVisible :: TextMarkClass self => Attr self Bool
textMarkVisible :: forall self. TextMarkClass self => Attr self Bool
textMarkVisible = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. TextMarkClass self => self -> IO Bool
textMarkGetVisible
self -> Bool -> IO ()
forall self. TextMarkClass self => self -> Bool -> IO ()
textMarkSetVisible
textMarkLeftGravity :: TextMarkClass self => ReadAttr self Bool
textMarkLeftGravity :: forall self. TextMarkClass self => ReadAttr self Bool
textMarkLeftGravity = String -> ReadAttr self Bool
forall gobj. GObjectClass gobj => String -> ReadAttr gobj Bool
readAttrFromBoolProperty String
"left-gravity"
foreign import ccall safe "gtk_text_mark_new"
gtk_text_mark_new :: ((Ptr CChar) -> (CInt -> (IO (Ptr TextMark))))
foreign import ccall unsafe "gtk_text_mark_set_visible"
gtk_text_mark_set_visible :: ((Ptr TextMark) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_text_mark_get_visible"
gtk_text_mark_get_visible :: ((Ptr TextMark) -> (IO CInt))
foreign import ccall unsafe "gtk_text_mark_get_deleted"
gtk_text_mark_get_deleted :: ((Ptr TextMark) -> (IO CInt))
foreign import ccall unsafe "gtk_text_mark_get_name"
gtk_text_mark_get_name :: ((Ptr TextMark) -> (IO (Ptr CChar)))
foreign import ccall unsafe "gtk_text_mark_get_buffer"
gtk_text_mark_get_buffer :: ((Ptr TextMark) -> (IO (Ptr TextBuffer)))
foreign import ccall unsafe "gtk_text_mark_get_left_gravity"
gtk_text_mark_get_left_gravity :: ((Ptr TextMark) -> (IO CInt))