-- GENERATED by C->Haskell Compiler, version 0.13.13 (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(
splitText,
replaceWholeText,
getWholeText,
Text,
castToText,
gTypeText,
TextClass,
toText,
) where
import Prelude hiding (drop, error, print)
import Data.Typeable (Typeable)
import Foreign.Marshal (maybePeek, maybeWith)
import System.Glib.FFI (maybeNull, withForeignPtr, nullForeignPtr, Ptr, nullPtr, castPtr, Word, Int64, Word64, CChar(..), CInt(..), CUInt(..), CLong(..), CULong(..), CLLong(..), CULLong(..), CShort(..), CUShort(..), CFloat(..), CDouble(..), toBool, fromBool)
import System.Glib.UTFString (GlibString(..), readUTFString)
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import System.Glib.GError
import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
import Graphics.UI.Gtk.WebKit.DOM.EventM
import Graphics.UI.Gtk.WebKit.Types
{-# LINE 22 "./Graphics/UI/Gtk/WebKit/DOM/Text.chs" #-}
import Graphics.UI.Gtk.WebKit.DOM.Enums

 
splitText ::
          (MonadIO m, TextClass self) => self -> Word -> m (Maybe Text)
splitText self offset
  = liftIO
      (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_))
 
replaceWholeText ::
                 (MonadIO m, TextClass self, GlibString string) =>
                   self -> string -> m (Maybe Text)
replaceWholeText self content
  = liftIO
      (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_))
 
getWholeText ::
             (MonadIO m, TextClass self, GlibString string) => self -> m string
getWholeText self
  = liftIO
      (((\(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)))