{-# LINE 2 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
module Graphics.UI.Gtk.Entry.EntryBuffer (
EntryBuffer,
EntryBufferClass,
castToEntryBuffer,
toEntryBuffer,
entryBufferNew,
entryBufferGetBytes,
entryBufferInsertText,
entryBufferDeleteText,
entryBufferEmitDeletedText,
entryBufferEmitInsertedText,
entryBufferText,
entryBufferLength,
entryBufferMaxLength,
entryBufferInsertedText,
entryBufferDeletedText,
) where
import Control.Monad (liftM)
import Data.Maybe (fromJust)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Types
{-# LINE 90 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 91 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
{-# LINE 93 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
entryBufferNew :: GlibString string
=> Maybe string
-> IO EntryBuffer
entryBufferNew initialChars =
wrapNewGObject mkEntryBuffer $
maybeWith withUTFString initialChars $ \initialCharsPtr -> do
let chars = if initialCharsPtr == nullPtr
then (-1)
else stringLength $ fromJust initialChars
gtk_entry_buffer_new
{-# LINE 114 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
initialCharsPtr
(fromIntegral chars)
entryBufferGetBytes :: EntryBufferClass self => self
-> IO Int
entryBufferGetBytes self =
liftM fromIntegral $
(\(EntryBuffer arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_buffer_get_bytes argPtr1)
{-# LINE 129 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
(toEntryBuffer self)
entryBufferInsertText :: (EntryBufferClass self, GlibString string) => self
-> Int
-> string
-> IO Int
entryBufferInsertText self position chars =
liftM fromIntegral $
withUTFStringLen chars $ \ (charsPtr, len) ->
(\(EntryBuffer arg1) arg2 arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_buffer_insert_text argPtr1 arg2 arg3 arg4)
{-# LINE 144 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
(toEntryBuffer self)
(fromIntegral position)
charsPtr
(fromIntegral len)
entryBufferDeleteText :: EntryBufferClass self => self
-> Int
-> Int
-> IO Int
entryBufferDeleteText self position nChars =
liftM fromIntegral $
(\(EntryBuffer arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_buffer_delete_text argPtr1 arg2 arg3)
{-# LINE 162 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
(toEntryBuffer self)
(fromIntegral position)
(fromIntegral nChars)
entryBufferEmitDeletedText :: EntryBufferClass self => self
-> Int
-> Int
-> IO ()
entryBufferEmitDeletedText self position nChars =
(\(EntryBuffer arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_buffer_emit_deleted_text argPtr1 arg2 arg3)
{-# LINE 176 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
(toEntryBuffer self)
(fromIntegral position)
(fromIntegral nChars)
entryBufferEmitInsertedText :: (EntryBufferClass self, GlibString string) => self
-> Int
-> string
-> Int
-> IO ()
entryBufferEmitInsertedText self position chars nChars =
withUTFString chars $ \charsPtr ->
(\(EntryBuffer arg1) arg2 arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_buffer_emit_inserted_text argPtr1 arg2 arg3 arg4)
{-# LINE 192 "./Graphics/UI/Gtk/Entry/EntryBuffer.chs" #-}
(toEntryBuffer self)
(fromIntegral position)
charsPtr
(fromIntegral nChars)
entryBufferText :: (EntryBufferClass self, GlibString string) => Attr self string
entryBufferText = newAttrFromStringProperty "text"
entryBufferLength :: EntryBufferClass self => ReadAttr self Int
entryBufferLength = readAttrFromIntProperty "length"
entryBufferMaxLength :: EntryBufferClass self => Attr self Int
entryBufferMaxLength = newAttrFromIntProperty "max-length"
entryBufferInsertedText :: (EntryBufferClass self, GlibString string) => Signal self (Int -> string -> Int -> IO ())
entryBufferInsertedText = Signal (connect_INT_GLIBSTRING_INT__NONE "inserted_text")
entryBufferDeletedText :: EntryBufferClass self => Signal self (Int -> Int -> IO ())
entryBufferDeletedText = Signal (connect_INT_INT__NONE "deleted_text")
foreign import ccall safe "gtk_entry_buffer_new"
gtk_entry_buffer_new :: ((Ptr CChar) -> (CInt -> (IO (Ptr EntryBuffer))))
foreign import ccall safe "gtk_entry_buffer_get_bytes"
gtk_entry_buffer_get_bytes :: ((Ptr EntryBuffer) -> (IO CULong))
foreign import ccall safe "gtk_entry_buffer_insert_text"
gtk_entry_buffer_insert_text :: ((Ptr EntryBuffer) -> (CUInt -> ((Ptr CChar) -> (CInt -> (IO CUInt)))))
foreign import ccall safe "gtk_entry_buffer_delete_text"
gtk_entry_buffer_delete_text :: ((Ptr EntryBuffer) -> (CUInt -> (CInt -> (IO CUInt))))
foreign import ccall safe "gtk_entry_buffer_emit_deleted_text"
gtk_entry_buffer_emit_deleted_text :: ((Ptr EntryBuffer) -> (CUInt -> (CUInt -> (IO ()))))
foreign import ccall safe "gtk_entry_buffer_emit_inserted_text"
gtk_entry_buffer_emit_inserted_text :: ((Ptr EntryBuffer) -> (CUInt -> ((Ptr CChar) -> (CUInt -> (IO ())))))