module Graphics.UI.Gtk.SourceView.SourceBuffer (
SourceBuffer,
SourceBufferClass,
castToSourceBuffer,
sourceBufferNew,
sourceBufferNewWithLanguage,
sourceBufferSetHighlightSyntax,
sourceBufferGetHighlightSyntax,
sourceBufferSetLanguage,
sourceBufferGetLanguage,
sourceBufferSetHighlightMatchingBrackets,
sourceBufferGetHighlightMatchingBrackets,
sourceBufferSetStyleScheme,
sourceBufferGetStyleScheme,
sourceBufferSetMaxUndoLevels,
sourceBufferGetMaxUndoLevels,
sourceBufferGetCanUndo,
sourceBufferGetCanRedo,
sourceBufferUndo,
sourceBufferRedo,
sourceBufferBeginNotUndoableAction,
sourceBufferEndNotUndoableAction,
sourceBufferCreateSourceMark,
sourceBufferEnsureHighlight,
sourceBufferCanRedo,
sourceBufferCanUndo,
sourceBufferHighlightMatchingBrackets,
sourceBufferHighlightSyntax,
sourceBufferLanguage,
sourceBufferSourceStyleScheme,
sourceBufferHighlightUpdated
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import System.Glib.FFI
import System.Glib.GObject (constructNewGObject,
makeNewGObject)
import System.Glib.Properties
import System.Glib.Attributes
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.SourceView.Types
import Graphics.UI.Gtk.SourceView.Signals
import Graphics.UI.Gtk.Multiline.TextIter
import Graphics.UI.Gtk.SourceView.SourceMark
sourceBufferNew :: Maybe TextTagTable -> IO SourceBuffer
sourceBufferNew tt = constructNewGObject mkSourceBuffer $
(\(TextTagTable arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_new argPtr1)
(fromMaybe (TextTagTable nullForeignPtr) tt)
sourceBufferNewWithLanguage :: SourceLanguage -> IO SourceBuffer
sourceBufferNewWithLanguage lang = constructNewGObject mkSourceBuffer $
(\(SourceLanguage arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_new_with_language argPtr1) lang
sourceBufferSetHighlightSyntax :: SourceBuffer -> Bool -> IO ()
sourceBufferSetHighlightSyntax sb newVal =
(\(SourceBuffer arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_set_highlight_syntax argPtr1 arg2) sb (fromBool newVal)
sourceBufferGetHighlightSyntax :: SourceBuffer -> IO Bool
sourceBufferGetHighlightSyntax sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_highlight_syntax argPtr1) sb
sourceBufferSetLanguage :: SourceBuffer -> SourceLanguage -> IO ()
sourceBufferSetLanguage sb lang =
(\(SourceBuffer arg1) (SourceLanguage arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_set_language argPtr1 argPtr2) sb lang
sourceBufferGetLanguage :: SourceBuffer -> IO SourceLanguage
sourceBufferGetLanguage sb = makeNewGObject mkSourceLanguage $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_language argPtr1) sb
sourceBufferSetHighlightMatchingBrackets :: SourceBuffer -> Bool -> IO ()
sourceBufferSetHighlightMatchingBrackets sb newVal =
(\(SourceBuffer arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_set_highlight_matching_brackets argPtr1 arg2) sb (fromBool newVal)
sourceBufferGetHighlightMatchingBrackets :: SourceBuffer -> IO Bool
sourceBufferGetHighlightMatchingBrackets sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_highlight_matching_brackets argPtr1) sb
sourceBufferSetStyleScheme :: SourceBuffer -> SourceStyleScheme -> IO ()
sourceBufferSetStyleScheme sb sss =
(\(SourceBuffer arg1) (SourceStyleScheme arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_buffer_set_style_scheme argPtr1 argPtr2) sb sss
sourceBufferGetStyleScheme :: SourceBuffer -> IO SourceStyleScheme
sourceBufferGetStyleScheme sb = makeNewGObject mkSourceStyleScheme $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_style_scheme argPtr1) sb
sourceBufferSetMaxUndoLevels :: SourceBuffer -> Int -> IO ()
sourceBufferSetMaxUndoLevels sb newVal =
(\(SourceBuffer arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_set_max_undo_levels argPtr1 arg2) sb (fromIntegral newVal)
sourceBufferGetMaxUndoLevels :: SourceBuffer -> IO Int
sourceBufferGetMaxUndoLevels sb = liftM fromIntegral $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_get_max_undo_levels argPtr1) sb
sourceBufferGetCanUndo :: SourceBuffer -> IO Bool
sourceBufferGetCanUndo sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_can_undo argPtr1) sb
sourceBufferGetCanRedo :: SourceBuffer -> IO Bool
sourceBufferGetCanRedo sb = liftM toBool $
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_can_redo argPtr1) sb
sourceBufferUndo :: SourceBuffer -> IO ()
sourceBufferUndo sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_undo argPtr1) sb
sourceBufferRedo :: SourceBuffer -> IO ()
sourceBufferRedo sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_redo argPtr1) sb
sourceBufferBeginNotUndoableAction :: SourceBuffer -> IO ()
sourceBufferBeginNotUndoableAction sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_begin_not_undoable_action argPtr1) sb
sourceBufferEndNotUndoableAction :: SourceBuffer -> IO ()
sourceBufferEndNotUndoableAction sb =
(\(SourceBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_buffer_end_not_undoable_action argPtr1) sb
sourceBufferCreateSourceMark :: SourceBuffer
-> Maybe String
-> String
-> TextIter -> IO SourceMark
sourceBufferCreateSourceMark sb name category iter =
makeNewGObject mkSourceMark $
maybeWith withCString name $ \strPtr1 ->
withCString category $ \strPtr2 ->
(\(SourceBuffer arg1) arg2 arg3 (TextIter arg4) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg4 $ \argPtr4 ->gtk_source_buffer_create_source_mark argPtr1 arg2 arg3 argPtr4) sb strPtr1 strPtr2 iter
sourceBufferEnsureHighlight :: SourceBuffer -> 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) sb start end
sourceBufferCanRedo :: ReadAttr SourceBuffer Bool
sourceBufferCanRedo = readAttrFromBoolProperty "can-redo"
sourceBufferCanUndo :: ReadAttr SourceBuffer Bool
sourceBufferCanUndo = readAttrFromBoolProperty "can-undo"
sourceBufferHighlightMatchingBrackets :: Attr SourceBuffer Bool
sourceBufferHighlightMatchingBrackets = newAttrFromBoolProperty "highlight-matching-brackets"
sourceBufferHighlightSyntax :: Attr SourceBuffer Bool
sourceBufferHighlightSyntax = newAttrFromBoolProperty "highlight-matching-brackets"
sourceBufferLanguage :: Attr SourceBuffer (Maybe SourceLanguage)
sourceBufferLanguage = newAttrFromMaybeObjectProperty "language" gTypeSourceLanguage
sourceBufferMaxUndoLevels :: Attr SourceBuffer Int
sourceBufferMaxUndoLevels = newAttrFromIntProperty "max-undo-levels"
sourceBufferSourceStyleScheme :: Attr SourceBuffer (Maybe SourceStyleScheme)
sourceBufferSourceStyleScheme = newAttrFromMaybeObjectProperty "style-scheme" gTypeSourceStyleScheme
sourceBufferHighlightUpdated :: Signal SourceBuffer (TextIter -> TextIter -> IO ())
sourceBufferHighlightUpdated = Signal $ connect_BOXED_BOXED__NONE "highlight-updated" mkTextIterCopy mkTextIterCopy
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_ensure_highlight"
gtk_source_buffer_ensure_highlight :: ((Ptr SourceBuffer) -> ((Ptr TextIter) -> ((Ptr TextIter) -> (IO ()))))