-- GENERATED by C->Haskell Compiler, version 0.13.9 (gtk2hs branch) "Bin IO", 27 May 2012 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Graphics/UI/Gtk/WebKit/DOM/Text.chs" #-}
module Graphics.UI.Gtk.WebKit.DOM.Text
       (textSplitText, textReplaceWholeText, textGetWholeText) where
import System.Glib.FFI
import System.Glib.UTFString
import Control.Applicative
import Graphics.UI.Gtk.WebKit.Types
{-# LINE 6 "./Graphics/UI/Gtk/WebKit/DOM/Text.chs" #-}
import System.Glib.GError
import Graphics.UI.Gtk.WebKit.DOM.EventM
 
textSplitText ::
              (TextClass self) => self -> Word -> IO (Maybe Text)
textSplitText self offset
  = maybeNull (makeNewGObject mkText)
      (propagateGError $
         \ errorPtr_ ->
           (\(Text arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_text_split_text argPtr1 arg2 arg3) (toText self)
             (fromIntegral offset)
             errorPtr_)
 
textReplaceWholeText ::
                     (TextClass self) => self -> String -> IO (Maybe Text)
textReplaceWholeText self content
  = maybeNull (makeNewGObject mkText)
      (propagateGError $
         \ errorPtr_ ->
           withUTFString content $
             \ contentPtr ->
               (\(Text arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_text_replace_whole_text argPtr1 arg2 arg3) (toText self)
                 contentPtr
             errorPtr_)
 
textGetWholeText :: (TextClass self) => self -> IO String
textGetWholeText self
  = ((\(Text arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_text_get_whole_text argPtr1) (toText self)) >>=
      readUTFString

foreign import ccall safe "webkit_dom_text_split_text"
  webkit_dom_text_split_text :: ((Ptr Text) -> (CULong -> ((Ptr (Ptr ())) -> (IO (Ptr Text)))))

foreign import ccall safe "webkit_dom_text_replace_whole_text"
  webkit_dom_text_replace_whole_text :: ((Ptr Text) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO (Ptr Text)))))

foreign import ccall safe "webkit_dom_text_get_whole_text"
  webkit_dom_text_get_whole_text :: ((Ptr Text) -> (IO (Ptr CChar)))