{-# LINE 2 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
module Graphics.UI.Gtk.SourceView.SourceBuffer (
SourceBuffer,
SourceBufferClass,
castToSourceBuffer,
gTypeSourceBuffer,
toSourceBuffer,
sourceBufferNew,
sourceBufferNewWithLanguage,
sourceBufferSetHighlightSyntax,
sourceBufferGetHighlightSyntax,
sourceBufferSetLanguage,
sourceBufferGetLanguage,
sourceBufferSetHighlightMatchingBrackets,
sourceBufferGetHighlightMatchingBrackets,
sourceBufferSetStyleScheme,
sourceBufferGetStyleScheme,
sourceBufferSetMaxUndoLevels,
sourceBufferGetMaxUndoLevels,
sourceBufferGetCanUndo,
sourceBufferGetCanRedo,
sourceBufferUndo,
sourceBufferRedo,
sourceBufferBeginNotUndoableAction,
sourceBufferEndNotUndoableAction,
sourceBufferCreateSourceMark,
sourceBufferGetSourceMarksAtLine,
sourceBufferGetSourceMarksAtIter,
sourceBufferRemoveSourceMarks,
sourceBufferForwardIterToSourceMark,
sourceBufferBackwardIterToSourceMark,
sourceBufferEnsureHighlight,
sourceBufferCanRedo,
sourceBufferCanUndo,
sourceBufferHighlightMatchingBrackets,
sourceBufferHighlightSyntax,
sourceBufferLanguage,
sourceBufferSourceStyleScheme,
sourceBufferMaxUndoLevels,
sourceBufferUndoManager,
sourceBufferHighlightUpdated,
sourceBufferRedoSignal,
sourceBufferUndoSignal,
sourceBufferSourceMarkUpdated,
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import System.Glib.Attributes
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.GList
import System.Glib.GObject (wrapNewGObject, makeNewGObject)
import Graphics.UI.Gtk.Multiline.TextIter
{-# LINE 103 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
import Graphics.UI.Gtk.SourceView.Signals
{-# LINE 104 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
import Graphics.UI.Gtk.SourceView.SourceMark
{-# LINE 105 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
import Graphics.UI.Gtk.SourceView.Types
{-# LINE 106 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
import System.Glib.Properties
{-# LINE 107 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
{-# LINE 109 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
sourceBufferNew :: Maybe TextTagTable -> IO SourceBuffer
sourceBufferNew tt = wrapNewGObject mkSourceBuffer $
(\(TextTagTable arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_new argPtr1)
{-# LINE 118 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(fromMaybe (TextTagTable nullForeignPtr) tt)
sourceBufferNewWithLanguage :: SourceLanguage -> IO SourceBuffer
sourceBufferNewWithLanguage lang = wrapNewGObject mkSourceBuffer $
(\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_new_with_language argPtr1) lang
sourceBufferSetHighlightSyntax :: SourceBufferClass buffer => buffer
-> Bool
-> IO ()
sourceBufferSetHighlightSyntax sb newVal =
(\(SourceBuffer arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_set_highlight_syntax argPtr1 arg2)
{-# LINE 137 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer sb)
(fromBool newVal)
sourceBufferGetHighlightSyntax :: SourceBufferClass buffer => buffer
-> IO Bool
sourceBufferGetHighlightSyntax sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_highlight_syntax argPtr1)
{-# LINE 145 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer sb)
sourceBufferSetLanguage :: SourceBufferClass buffer => buffer
-> Maybe SourceLanguage
-> IO ()
sourceBufferSetLanguage sb lang =
(\(SourceBuffer arg1) (SourceLanguage arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_set_language argPtr1 argPtr2)
{-# LINE 156 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer sb)
(fromMaybe (SourceLanguage nullForeignPtr) lang)
sourceBufferGetLanguage :: SourceBufferClass buffer => buffer
-> IO (Maybe SourceLanguage)
sourceBufferGetLanguage sb =
maybeNull (makeNewGObject mkSourceLanguage) $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_language argPtr1) (toSourceBuffer sb)
sourceBufferSetHighlightMatchingBrackets :: SourceBufferClass buffer => buffer
-> Bool
-> IO ()
sourceBufferSetHighlightMatchingBrackets sb newVal =
(\(SourceBuffer arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_set_highlight_matching_brackets argPtr1 arg2) (toSourceBuffer sb) (fromBool newVal)
sourceBufferGetHighlightMatchingBrackets :: SourceBufferClass buffer => buffer
-> IO Bool
sourceBufferGetHighlightMatchingBrackets sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_highlight_matching_brackets argPtr1) (toSourceBuffer sb)
sourceBufferSetStyleScheme :: SourceBufferClass buffer => buffer
-> Maybe SourceStyleScheme
-> IO ()
sourceBufferSetStyleScheme sb scheme =
(\(SourceBuffer arg1) (SourceStyleScheme arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_set_style_scheme argPtr1 argPtr2)
{-# LINE 188 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer sb)
(fromMaybe (SourceStyleScheme nullForeignPtr) scheme)
sourceBufferGetStyleScheme :: SourceBufferClass buffer => buffer
-> IO (Maybe SourceStyleScheme)
sourceBufferGetStyleScheme sb =
maybeNull (makeNewGObject mkSourceStyleScheme) $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_style_scheme argPtr1) (toSourceBuffer sb)
sourceBufferSetMaxUndoLevels :: SourceBufferClass buffer => buffer
-> Int
-> IO ()
sourceBufferSetMaxUndoLevels sb newVal =
(\(SourceBuffer arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_set_max_undo_levels argPtr1 arg2) (toSourceBuffer sb) (fromIntegral newVal)
sourceBufferGetMaxUndoLevels :: SourceBufferClass buffer => buffer
-> IO Int
sourceBufferGetMaxUndoLevels sb = liftM fromIntegral $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_max_undo_levels argPtr1) (toSourceBuffer sb)
sourceBufferGetCanUndo :: SourceBufferClass buffer => buffer
-> IO Bool
sourceBufferGetCanUndo sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_can_undo argPtr1) (toSourceBuffer sb)
sourceBufferGetCanRedo :: SourceBufferClass buffer => buffer
-> IO Bool
sourceBufferGetCanRedo sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_can_redo argPtr1) (toSourceBuffer sb)
sourceBufferUndo :: SourceBufferClass buffer => buffer -> IO ()
sourceBufferUndo sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_undo argPtr1) (toSourceBuffer sb)
sourceBufferRedo :: SourceBufferClass buffer => buffer -> IO ()
sourceBufferRedo sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_redo argPtr1) (toSourceBuffer sb)
sourceBufferBeginNotUndoableAction :: SourceBufferClass buffer => buffer -> IO ()
sourceBufferBeginNotUndoableAction sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_begin_not_undoable_action argPtr1) (toSourceBuffer sb)
sourceBufferEndNotUndoableAction :: SourceBufferClass buffer => buffer -> IO ()
sourceBufferEndNotUndoableAction sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_end_not_undoable_action argPtr1) (toSourceBuffer sb)
sourceBufferCreateSourceMark :: (SourceBufferClass buffer, GlibString string) => buffer
-> Maybe string
-> string
-> TextIter -> IO SourceMark
sourceBufferCreateSourceMark sb name category iter =
makeNewGObject mkSourceMark $
maybeWith withUTFString name $ \strPtr1 ->
withUTFString category $ \strPtr2 ->
(\(SourceBuffer arg1) arg2 arg3 (TextIter arg4) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg4 $ \argPtr4 ->gtk_source_buffer_create_source_mark argPtr1 arg2 arg3 argPtr4) (toSourceBuffer sb) strPtr1 strPtr2 iter
sourceBufferGetSourceMarksAtLine :: (SourceBufferClass buffer, GlibString string) => buffer
-> Int
-> string
-> IO [SourceMark]
sourceBufferGetSourceMarksAtLine buffer line category =
withUTFString category $ \categoryPtr ->
(\(SourceBuffer arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_source_marks_at_line argPtr1 arg2 arg3)
{-# LINE 307 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer buffer)
(fromIntegral line)
categoryPtr
>>= readGSList
>>= mapM (\markPtr -> makeNewGObject mkSourceMark (return markPtr))
sourceBufferGetSourceMarksAtIter :: (SourceBufferClass buffer, GlibString string) => buffer
-> TextIter
-> string
-> IO [SourceMark]
sourceBufferGetSourceMarksAtIter buffer iter category =
withUTFString category $ \categoryPtr ->
(\(SourceBuffer arg1) (TextIter arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_get_source_marks_at_iter argPtr1 argPtr2 arg3)
{-# LINE 322 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer buffer)
iter
categoryPtr
>>= readGSList
>>= mapM (\markPtr -> makeNewGObject mkSourceMark (return markPtr))
sourceBufferRemoveSourceMarks :: (SourceBufferClass buffer, GlibString string) => buffer
-> TextIter
-> TextIter
-> string
-> IO ()
sourceBufferRemoveSourceMarks buffer start end category =
withUTFString category $ \categoryPtr ->
(\(SourceBuffer arg1) (TextIter arg2) (TextIter arg3) arg4 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->withForeignPtr arg3 $ \argPtr3 ->gtk_source_buffer_remove_source_marks argPtr1 argPtr2 argPtr3 arg4)
{-# LINE 338 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer buffer)
start
end
categoryPtr
sourceBufferForwardIterToSourceMark :: (SourceBufferClass buffer, GlibString string) => buffer
-> TextIter
-> string
-> IO Bool
sourceBufferForwardIterToSourceMark buffer iter category =
liftM toBool $
withUTFString category $ \categoryPtr ->
(\(SourceBuffer arg1) (TextIter arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_forward_iter_to_source_mark argPtr1 argPtr2 arg3)
{-# LINE 353 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer buffer)
iter
categoryPtr
sourceBufferBackwardIterToSourceMark :: (SourceBufferClass buffer, GlibString string) => buffer
-> TextIter
-> string
-> IO Bool
sourceBufferBackwardIterToSourceMark buffer iter category =
liftM toBool $
withUTFString category $ \categoryPtr ->
(\(SourceBuffer arg1) (TextIter arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_backward_iter_to_source_mark argPtr1 argPtr2 arg3)
{-# LINE 367 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
(toSourceBuffer buffer)
iter
categoryPtr
sourceBufferEnsureHighlight :: SourceBufferClass buffer => buffer
-> TextIter
-> TextIter
-> IO ()
sourceBufferEnsureHighlight sb start end =
(\(SourceBuffer arg1) (TextIter arg2) (TextIter arg3) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->withForeignPtr arg3 $ \argPtr3 ->gtk_source_buffer_ensure_highlight argPtr1 argPtr2 argPtr3) (toSourceBuffer sb) start end
sourceBufferCanRedo :: SourceBufferClass buffer => ReadAttr buffer Bool
sourceBufferCanRedo = readAttrFromBoolProperty "can-redo"
sourceBufferCanUndo :: SourceBufferClass buffer => ReadAttr buffer Bool
sourceBufferCanUndo = readAttrFromBoolProperty "can-undo"
sourceBufferHighlightMatchingBrackets :: SourceBufferClass buffer => Attr buffer Bool
sourceBufferHighlightMatchingBrackets = newAttrFromBoolProperty "highlight-matching-brackets"
sourceBufferHighlightSyntax :: SourceBufferClass buffer => Attr buffer Bool
sourceBufferHighlightSyntax = newAttrFromBoolProperty "highlight-matching-brackets"
sourceBufferLanguage :: SourceBufferClass buffer => Attr buffer (Maybe SourceLanguage)
sourceBufferLanguage = newAttrFromMaybeObjectProperty "language" gTypeSourceLanguage
sourceBufferMaxUndoLevels :: SourceBufferClass buffer => Attr buffer Int
sourceBufferMaxUndoLevels = newAttrFromIntProperty "max-undo-levels"
sourceBufferSourceStyleScheme :: SourceBufferClass buffer => Attr buffer (Maybe SourceStyleScheme)
sourceBufferSourceStyleScheme = newAttrFromMaybeObjectProperty "style-scheme" gTypeSourceStyleScheme
sourceBufferUndoManager :: SourceBufferClass buffer => Attr buffer SourceUndoManager
sourceBufferUndoManager = newAttrFromObjectProperty "undo-manager"
gtk_source_undo_manager_get_type
{-# LINE 436 "./Graphics/UI/Gtk/SourceView/SourceBuffer.chs" #-}
sourceBufferHighlightUpdated :: SourceBufferClass buffer => Signal buffer (TextIter -> TextIter -> IO ())
sourceBufferHighlightUpdated = Signal $ connect_BOXED_BOXED__NONE "highlight-updated" mkTextIterCopy mkTextIterCopy
sourceBufferRedoSignal :: SourceBufferClass buffer => Signal buffer (IO ())
sourceBufferRedoSignal = Signal $ connect_NONE__NONE "redo"
sourceBufferUndoSignal :: SourceBufferClass buffer => Signal buffer (IO ())
sourceBufferUndoSignal = Signal $ connect_NONE__NONE "undo"
sourceBufferSourceMarkUpdated :: SourceBufferClass buffer => Signal buffer (TextMark -> IO ())
sourceBufferSourceMarkUpdated = Signal $ connect_OBJECT__NONE "source-mark-updated"
foreign import ccall unsafe "gtk_source_buffer_new"
gtk_source_buffer_new :: ((Ptr TextTagTable) -> (IO (Ptr SourceBuffer)))
foreign import ccall unsafe "gtk_source_buffer_new_with_language"
gtk_source_buffer_new_with_language :: ((Ptr SourceLanguage) -> (IO (Ptr SourceBuffer)))
foreign import ccall unsafe "gtk_source_buffer_set_highlight_syntax"
gtk_source_buffer_set_highlight_syntax :: ((Ptr SourceBuffer) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_source_buffer_get_highlight_syntax"
gtk_source_buffer_get_highlight_syntax :: ((Ptr SourceBuffer) -> (IO CInt))
foreign import ccall unsafe "gtk_source_buffer_set_language"
gtk_source_buffer_set_language :: ((Ptr SourceBuffer) -> ((Ptr SourceLanguage) -> (IO ())))
foreign import ccall unsafe "gtk_source_buffer_get_language"
gtk_source_buffer_get_language :: ((Ptr SourceBuffer) -> (IO (Ptr SourceLanguage)))
foreign import ccall unsafe "gtk_source_buffer_set_highlight_matching_brackets"
gtk_source_buffer_set_highlight_matching_brackets :: ((Ptr SourceBuffer) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_source_buffer_get_highlight_matching_brackets"
gtk_source_buffer_get_highlight_matching_brackets :: ((Ptr SourceBuffer) -> (IO CInt))
foreign import ccall unsafe "gtk_source_buffer_set_style_scheme"
gtk_source_buffer_set_style_scheme :: ((Ptr SourceBuffer) -> ((Ptr SourceStyleScheme) -> (IO ())))
foreign import ccall unsafe "gtk_source_buffer_get_style_scheme"
gtk_source_buffer_get_style_scheme :: ((Ptr SourceBuffer) -> (IO (Ptr SourceStyleScheme)))
foreign import ccall unsafe "gtk_source_buffer_set_max_undo_levels"
gtk_source_buffer_set_max_undo_levels :: ((Ptr SourceBuffer) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_source_buffer_get_max_undo_levels"
gtk_source_buffer_get_max_undo_levels :: ((Ptr SourceBuffer) -> (IO CInt))
foreign import ccall unsafe "gtk_source_buffer_can_undo"
gtk_source_buffer_can_undo :: ((Ptr SourceBuffer) -> (IO CInt))
foreign import ccall unsafe "gtk_source_buffer_can_redo"
gtk_source_buffer_can_redo :: ((Ptr SourceBuffer) -> (IO CInt))
foreign import ccall safe "gtk_source_buffer_undo"
gtk_source_buffer_undo :: ((Ptr SourceBuffer) -> (IO ()))
foreign import ccall safe "gtk_source_buffer_redo"
gtk_source_buffer_redo :: ((Ptr SourceBuffer) -> (IO ()))
foreign import ccall safe "gtk_source_buffer_begin_not_undoable_action"
gtk_source_buffer_begin_not_undoable_action :: ((Ptr SourceBuffer) -> (IO ()))
foreign import ccall safe "gtk_source_buffer_end_not_undoable_action"
gtk_source_buffer_end_not_undoable_action :: ((Ptr SourceBuffer) -> (IO ()))
foreign import ccall safe "gtk_source_buffer_create_source_mark"
gtk_source_buffer_create_source_mark :: ((Ptr SourceBuffer) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr TextIter) -> (IO (Ptr SourceMark))))))
foreign import ccall safe "gtk_source_buffer_get_source_marks_at_line"
gtk_source_buffer_get_source_marks_at_line :: ((Ptr SourceBuffer) -> (CInt -> ((Ptr CChar) -> (IO (Ptr ())))))
foreign import ccall safe "gtk_source_buffer_get_source_marks_at_iter"
gtk_source_buffer_get_source_marks_at_iter :: ((Ptr SourceBuffer) -> ((Ptr TextIter) -> ((Ptr CChar) -> (IO (Ptr ())))))
foreign import ccall safe "gtk_source_buffer_remove_source_marks"
gtk_source_buffer_remove_source_marks :: ((Ptr SourceBuffer) -> ((Ptr TextIter) -> ((Ptr TextIter) -> ((Ptr CChar) -> (IO ())))))
foreign import ccall safe "gtk_source_buffer_forward_iter_to_source_mark"
gtk_source_buffer_forward_iter_to_source_mark :: ((Ptr SourceBuffer) -> ((Ptr TextIter) -> ((Ptr CChar) -> (IO CInt))))
foreign import ccall safe "gtk_source_buffer_backward_iter_to_source_mark"
gtk_source_buffer_backward_iter_to_source_mark :: ((Ptr SourceBuffer) -> ((Ptr TextIter) -> ((Ptr CChar) -> (IO CInt))))
foreign import ccall safe "gtk_source_buffer_ensure_highlight"
gtk_source_buffer_ensure_highlight :: ((Ptr SourceBuffer) -> ((Ptr TextIter) -> ((Ptr TextIter) -> (IO ()))))
foreign import ccall unsafe "gtk_source_undo_manager_get_type"
gtk_source_undo_manager_get_type :: CULong