{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) The 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' class contains the actual text displayed in a 'GI.Gtk.Objects.Entry.Entry' widget. A single 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object can be shared by multiple 'GI.Gtk.Objects.Entry.Entry' widgets which will then share the same text content, but not the cursor position, visibility attributes, icon etc. 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' may be derived from. Such a derived class might allow text to be stored in an alternate location, such as non-pageable memory, useful in the case of important passwords. Or a derived class could integrate with an application’s concept of undo\/redo. /Since: 2.18/ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Gtk.Objects.EntryBuffer ( -- * Exported types EntryBuffer(..) , IsEntryBuffer , toEntryBuffer , noEntryBuffer , -- * Methods -- ** deleteText #method:deleteText# #if ENABLE_OVERLOADING EntryBufferDeleteTextMethodInfo , #endif entryBufferDeleteText , -- ** emitDeletedText #method:emitDeletedText# #if ENABLE_OVERLOADING EntryBufferEmitDeletedTextMethodInfo , #endif entryBufferEmitDeletedText , -- ** emitInsertedText #method:emitInsertedText# #if ENABLE_OVERLOADING EntryBufferEmitInsertedTextMethodInfo , #endif entryBufferEmitInsertedText , -- ** getBytes #method:getBytes# #if ENABLE_OVERLOADING EntryBufferGetBytesMethodInfo , #endif entryBufferGetBytes , -- ** getLength #method:getLength# #if ENABLE_OVERLOADING EntryBufferGetLengthMethodInfo , #endif entryBufferGetLength , -- ** getMaxLength #method:getMaxLength# #if ENABLE_OVERLOADING EntryBufferGetMaxLengthMethodInfo , #endif entryBufferGetMaxLength , -- ** getText #method:getText# #if ENABLE_OVERLOADING EntryBufferGetTextMethodInfo , #endif entryBufferGetText , -- ** insertText #method:insertText# #if ENABLE_OVERLOADING EntryBufferInsertTextMethodInfo , #endif entryBufferInsertText , -- ** new #method:new# entryBufferNew , -- ** setMaxLength #method:setMaxLength# #if ENABLE_OVERLOADING EntryBufferSetMaxLengthMethodInfo , #endif entryBufferSetMaxLength , -- ** setText #method:setText# #if ENABLE_OVERLOADING EntryBufferSetTextMethodInfo , #endif entryBufferSetText , -- * Properties -- ** length #attr:length# {- | The length (in characters) of the text in buffer. /Since: 2.18/ -} #if ENABLE_OVERLOADING EntryBufferLengthPropertyInfo , #endif #if ENABLE_OVERLOADING entryBufferLength , #endif getEntryBufferLength , -- ** maxLength #attr:maxLength# {- | The maximum length (in characters) of the text in the buffer. /Since: 2.18/ -} #if ENABLE_OVERLOADING EntryBufferMaxLengthPropertyInfo , #endif constructEntryBufferMaxLength , #if ENABLE_OVERLOADING entryBufferMaxLength , #endif getEntryBufferMaxLength , setEntryBufferMaxLength , -- ** text #attr:text# {- | The contents of the buffer. /Since: 2.18/ -} #if ENABLE_OVERLOADING EntryBufferTextPropertyInfo , #endif clearEntryBufferText , constructEntryBufferText , #if ENABLE_OVERLOADING entryBufferText , #endif getEntryBufferText , setEntryBufferText , -- * Signals -- ** deletedText #signal:deletedText# C_EntryBufferDeletedTextCallback , EntryBufferDeletedTextCallback , #if ENABLE_OVERLOADING EntryBufferDeletedTextSignalInfo , #endif afterEntryBufferDeletedText , genClosure_EntryBufferDeletedText , mk_EntryBufferDeletedTextCallback , noEntryBufferDeletedTextCallback , onEntryBufferDeletedText , wrap_EntryBufferDeletedTextCallback , -- ** insertedText #signal:insertedText# C_EntryBufferInsertedTextCallback , EntryBufferInsertedTextCallback , #if ENABLE_OVERLOADING EntryBufferInsertedTextSignalInfo , #endif afterEntryBufferInsertedText , genClosure_EntryBufferInsertedText , mk_EntryBufferInsertedTextCallback , noEntryBufferInsertedTextCallback , onEntryBufferInsertedText , wrap_EntryBufferInsertedTextCallback , ) where import Data.GI.Base.ShortPrelude import qualified Data.GI.Base.ShortPrelude as SP import qualified Data.GI.Base.Overloading as O import qualified Prelude as P import qualified Data.GI.Base.Attributes as GI.Attributes import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr import qualified Data.GI.Base.GClosure as B.GClosure import qualified Data.GI.Base.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.GI.Base.Properties as B.Properties import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import qualified Foreign.Ptr as FP import qualified GHC.OverloadedLabels as OL import qualified GI.GObject.Objects.Object as GObject.Object -- | Memory-managed wrapper type. newtype EntryBuffer = EntryBuffer (ManagedPtr EntryBuffer) foreign import ccall "gtk_entry_buffer_get_type" c_gtk_entry_buffer_get_type :: IO GType instance GObject EntryBuffer where gobjectType = c_gtk_entry_buffer_get_type -- | Type class for types which can be safely cast to `EntryBuffer`, for instance with `toEntryBuffer`. class (GObject o, O.IsDescendantOf EntryBuffer o) => IsEntryBuffer o instance (GObject o, O.IsDescendantOf EntryBuffer o) => IsEntryBuffer o instance O.HasParentTypes EntryBuffer type instance O.ParentTypes EntryBuffer = '[GObject.Object.Object] -- | Cast to `EntryBuffer`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toEntryBuffer :: (MonadIO m, IsEntryBuffer o) => o -> m EntryBuffer toEntryBuffer = liftIO . unsafeCastTo EntryBuffer -- | A convenience alias for `Nothing` :: `Maybe` `EntryBuffer`. noEntryBuffer :: Maybe EntryBuffer noEntryBuffer = Nothing #if ENABLE_OVERLOADING type family ResolveEntryBufferMethod (t :: Symbol) (o :: *) :: * where ResolveEntryBufferMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveEntryBufferMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveEntryBufferMethod "deleteText" o = EntryBufferDeleteTextMethodInfo ResolveEntryBufferMethod "emitDeletedText" o = EntryBufferEmitDeletedTextMethodInfo ResolveEntryBufferMethod "emitInsertedText" o = EntryBufferEmitInsertedTextMethodInfo ResolveEntryBufferMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveEntryBufferMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveEntryBufferMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveEntryBufferMethod "insertText" o = EntryBufferInsertTextMethodInfo ResolveEntryBufferMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveEntryBufferMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveEntryBufferMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveEntryBufferMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveEntryBufferMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveEntryBufferMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveEntryBufferMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveEntryBufferMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveEntryBufferMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveEntryBufferMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveEntryBufferMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveEntryBufferMethod "getBytes" o = EntryBufferGetBytesMethodInfo ResolveEntryBufferMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveEntryBufferMethod "getLength" o = EntryBufferGetLengthMethodInfo ResolveEntryBufferMethod "getMaxLength" o = EntryBufferGetMaxLengthMethodInfo ResolveEntryBufferMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveEntryBufferMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveEntryBufferMethod "getText" o = EntryBufferGetTextMethodInfo ResolveEntryBufferMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveEntryBufferMethod "setMaxLength" o = EntryBufferSetMaxLengthMethodInfo ResolveEntryBufferMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveEntryBufferMethod "setText" o = EntryBufferSetTextMethodInfo ResolveEntryBufferMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveEntryBufferMethod t EntryBuffer, O.MethodInfo info EntryBuffer p) => OL.IsLabel t (EntryBuffer -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif -- signal EntryBuffer::deleted-text {- | This signal is emitted after text is deleted from the buffer. /Since: 2.18/ -} type EntryBufferDeletedTextCallback = Word32 {- ^ /@position@/: the position the text was deleted at. -} -> Word32 {- ^ /@nChars@/: The number of characters that were deleted. -} -> IO () -- | A convenience synonym for @`Nothing` :: `Maybe` `EntryBufferDeletedTextCallback`@. noEntryBufferDeletedTextCallback :: Maybe EntryBufferDeletedTextCallback noEntryBufferDeletedTextCallback = Nothing -- | Type for the callback on the (unwrapped) C side. type C_EntryBufferDeletedTextCallback = Ptr () -> -- object Word32 -> Word32 -> Ptr () -> -- user_data IO () -- | Generate a function pointer callable from C code, from a `C_EntryBufferDeletedTextCallback`. foreign import ccall "wrapper" mk_EntryBufferDeletedTextCallback :: C_EntryBufferDeletedTextCallback -> IO (FunPtr C_EntryBufferDeletedTextCallback) -- | Wrap the callback into a `GClosure`. genClosure_EntryBufferDeletedText :: MonadIO m => EntryBufferDeletedTextCallback -> m (GClosure C_EntryBufferDeletedTextCallback) genClosure_EntryBufferDeletedText cb = liftIO $ do let cb' = wrap_EntryBufferDeletedTextCallback cb mk_EntryBufferDeletedTextCallback cb' >>= B.GClosure.newGClosure -- | Wrap a `EntryBufferDeletedTextCallback` into a `C_EntryBufferDeletedTextCallback`. wrap_EntryBufferDeletedTextCallback :: EntryBufferDeletedTextCallback -> C_EntryBufferDeletedTextCallback wrap_EntryBufferDeletedTextCallback _cb _ position nChars _ = do _cb position nChars {- | Connect a signal handler for the “@deleted-text@” signal, to be run before the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.on' entryBuffer #deletedText callback @ -} onEntryBufferDeletedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferDeletedTextCallback -> m SignalHandlerId onEntryBufferDeletedText obj cb = liftIO $ do let cb' = wrap_EntryBufferDeletedTextCallback cb cb'' <- mk_EntryBufferDeletedTextCallback cb' connectSignalFunPtr obj "deleted-text" cb'' SignalConnectBefore {- | Connect a signal handler for the “@deleted-text@” signal, to be run after the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.after' entryBuffer #deletedText callback @ -} afterEntryBufferDeletedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferDeletedTextCallback -> m SignalHandlerId afterEntryBufferDeletedText obj cb = liftIO $ do let cb' = wrap_EntryBufferDeletedTextCallback cb cb'' <- mk_EntryBufferDeletedTextCallback cb' connectSignalFunPtr obj "deleted-text" cb'' SignalConnectAfter -- signal EntryBuffer::inserted-text {- | This signal is emitted after text is inserted into the buffer. /Since: 2.18/ -} type EntryBufferInsertedTextCallback = Word32 {- ^ /@position@/: the position the text was inserted at. -} -> T.Text {- ^ /@chars@/: The text that was inserted. -} -> Word32 {- ^ /@nChars@/: The number of characters that were inserted. -} -> IO () -- | A convenience synonym for @`Nothing` :: `Maybe` `EntryBufferInsertedTextCallback`@. noEntryBufferInsertedTextCallback :: Maybe EntryBufferInsertedTextCallback noEntryBufferInsertedTextCallback = Nothing -- | Type for the callback on the (unwrapped) C side. type C_EntryBufferInsertedTextCallback = Ptr () -> -- object Word32 -> CString -> Word32 -> Ptr () -> -- user_data IO () -- | Generate a function pointer callable from C code, from a `C_EntryBufferInsertedTextCallback`. foreign import ccall "wrapper" mk_EntryBufferInsertedTextCallback :: C_EntryBufferInsertedTextCallback -> IO (FunPtr C_EntryBufferInsertedTextCallback) -- | Wrap the callback into a `GClosure`. genClosure_EntryBufferInsertedText :: MonadIO m => EntryBufferInsertedTextCallback -> m (GClosure C_EntryBufferInsertedTextCallback) genClosure_EntryBufferInsertedText cb = liftIO $ do let cb' = wrap_EntryBufferInsertedTextCallback cb mk_EntryBufferInsertedTextCallback cb' >>= B.GClosure.newGClosure -- | Wrap a `EntryBufferInsertedTextCallback` into a `C_EntryBufferInsertedTextCallback`. wrap_EntryBufferInsertedTextCallback :: EntryBufferInsertedTextCallback -> C_EntryBufferInsertedTextCallback wrap_EntryBufferInsertedTextCallback _cb _ position chars nChars _ = do chars' <- cstringToText chars _cb position chars' nChars {- | Connect a signal handler for the “@inserted-text@” signal, to be run before the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.on' entryBuffer #insertedText callback @ -} onEntryBufferInsertedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferInsertedTextCallback -> m SignalHandlerId onEntryBufferInsertedText obj cb = liftIO $ do let cb' = wrap_EntryBufferInsertedTextCallback cb cb'' <- mk_EntryBufferInsertedTextCallback cb' connectSignalFunPtr obj "inserted-text" cb'' SignalConnectBefore {- | Connect a signal handler for the “@inserted-text@” signal, to be run after the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.after' entryBuffer #insertedText callback @ -} afterEntryBufferInsertedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferInsertedTextCallback -> m SignalHandlerId afterEntryBufferInsertedText obj cb = liftIO $ do let cb' = wrap_EntryBufferInsertedTextCallback cb cb'' <- mk_EntryBufferInsertedTextCallback cb' connectSignalFunPtr obj "inserted-text" cb'' SignalConnectAfter -- VVV Prop "length" -- Type: TBasicType TUInt -- Flags: [PropertyReadable] -- Nullable: (Just False,Nothing) {- | Get the value of the “@length@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' entryBuffer #length @ -} getEntryBufferLength :: (MonadIO m, IsEntryBuffer o) => o -> m Word32 getEntryBufferLength obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "length" #if ENABLE_OVERLOADING data EntryBufferLengthPropertyInfo instance AttrInfo EntryBufferLengthPropertyInfo where type AttrAllowedOps EntryBufferLengthPropertyInfo = '[ 'AttrGet] type AttrSetTypeConstraint EntryBufferLengthPropertyInfo = (~) () type AttrBaseTypeConstraint EntryBufferLengthPropertyInfo = IsEntryBuffer type AttrGetType EntryBufferLengthPropertyInfo = Word32 type AttrLabel EntryBufferLengthPropertyInfo = "length" type AttrOrigin EntryBufferLengthPropertyInfo = EntryBuffer attrGet _ = getEntryBufferLength attrSet _ = undefined attrConstruct _ = undefined attrClear _ = undefined #endif -- VVV Prop "max-length" -- Type: TBasicType TInt -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Just False,Just False) {- | Get the value of the “@max-length@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' entryBuffer #maxLength @ -} getEntryBufferMaxLength :: (MonadIO m, IsEntryBuffer o) => o -> m Int32 getEntryBufferMaxLength obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-length" {- | Set the value of the “@max-length@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' entryBuffer [ #maxLength 'Data.GI.Base.Attributes.:=' value ] @ -} setEntryBufferMaxLength :: (MonadIO m, IsEntryBuffer o) => o -> Int32 -> m () setEntryBufferMaxLength obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-length" val {- | Construct a `GValueConstruct` with valid value for the “@max-length@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructEntryBufferMaxLength :: (IsEntryBuffer o) => Int32 -> IO (GValueConstruct o) constructEntryBufferMaxLength val = B.Properties.constructObjectPropertyInt32 "max-length" val #if ENABLE_OVERLOADING data EntryBufferMaxLengthPropertyInfo instance AttrInfo EntryBufferMaxLengthPropertyInfo where type AttrAllowedOps EntryBufferMaxLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint EntryBufferMaxLengthPropertyInfo = (~) Int32 type AttrBaseTypeConstraint EntryBufferMaxLengthPropertyInfo = IsEntryBuffer type AttrGetType EntryBufferMaxLengthPropertyInfo = Int32 type AttrLabel EntryBufferMaxLengthPropertyInfo = "max-length" type AttrOrigin EntryBufferMaxLengthPropertyInfo = EntryBuffer attrGet _ = getEntryBufferMaxLength attrSet _ = setEntryBufferMaxLength attrConstruct _ = constructEntryBufferMaxLength attrClear _ = undefined #endif -- VVV Prop "text" -- Type: TBasicType TUTF8 -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Just False,Nothing) {- | Get the value of the “@text@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' entryBuffer #text @ -} getEntryBufferText :: (MonadIO m, IsEntryBuffer o) => o -> m T.Text getEntryBufferText obj = liftIO $ checkUnexpectedNothing "getEntryBufferText" $ B.Properties.getObjectPropertyString obj "text" {- | Set the value of the “@text@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' entryBuffer [ #text 'Data.GI.Base.Attributes.:=' value ] @ -} setEntryBufferText :: (MonadIO m, IsEntryBuffer o) => o -> T.Text -> m () setEntryBufferText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val) {- | Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructEntryBufferText :: (IsEntryBuffer o) => T.Text -> IO (GValueConstruct o) constructEntryBufferText val = B.Properties.constructObjectPropertyString "text" (Just val) {- | Set the value of the “@text@” property to `Nothing`. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.clear' #text @ -} clearEntryBufferText :: (MonadIO m, IsEntryBuffer o) => o -> m () clearEntryBufferText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text) #if ENABLE_OVERLOADING data EntryBufferTextPropertyInfo instance AttrInfo EntryBufferTextPropertyInfo where type AttrAllowedOps EntryBufferTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint EntryBufferTextPropertyInfo = (~) T.Text type AttrBaseTypeConstraint EntryBufferTextPropertyInfo = IsEntryBuffer type AttrGetType EntryBufferTextPropertyInfo = T.Text type AttrLabel EntryBufferTextPropertyInfo = "text" type AttrOrigin EntryBufferTextPropertyInfo = EntryBuffer attrGet _ = getEntryBufferText attrSet _ = setEntryBufferText attrConstruct _ = constructEntryBufferText attrClear _ = clearEntryBufferText #endif #if ENABLE_OVERLOADING instance O.HasAttributeList EntryBuffer type instance O.AttributeList EntryBuffer = EntryBufferAttributeList type EntryBufferAttributeList = ('[ '("length", EntryBufferLengthPropertyInfo), '("maxLength", EntryBufferMaxLengthPropertyInfo), '("text", EntryBufferTextPropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING entryBufferLength :: AttrLabelProxy "length" entryBufferLength = AttrLabelProxy entryBufferMaxLength :: AttrLabelProxy "maxLength" entryBufferMaxLength = AttrLabelProxy entryBufferText :: AttrLabelProxy "text" entryBufferText = AttrLabelProxy #endif #if ENABLE_OVERLOADING data EntryBufferDeletedTextSignalInfo instance SignalInfo EntryBufferDeletedTextSignalInfo where type HaskellCallbackType EntryBufferDeletedTextSignalInfo = EntryBufferDeletedTextCallback connectSignal _ obj cb connectMode = do let cb' = wrap_EntryBufferDeletedTextCallback cb cb'' <- mk_EntryBufferDeletedTextCallback cb' connectSignalFunPtr obj "deleted-text" cb'' connectMode data EntryBufferInsertedTextSignalInfo instance SignalInfo EntryBufferInsertedTextSignalInfo where type HaskellCallbackType EntryBufferInsertedTextSignalInfo = EntryBufferInsertedTextCallback connectSignal _ obj cb connectMode = do let cb' = wrap_EntryBufferInsertedTextCallback cb cb'' <- mk_EntryBufferInsertedTextCallback cb' connectSignalFunPtr obj "inserted-text" cb'' connectMode type instance O.SignalList EntryBuffer = EntryBufferSignalList type EntryBufferSignalList = ('[ '("deletedText", EntryBufferDeletedTextSignalInfo), '("insertedText", EntryBufferInsertedTextSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method EntryBuffer::new -- method type : Constructor -- Args : [Arg {argCName = "initial_chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "initial buffer text, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_initial_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters in @initial_chars, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_new" gtk_entry_buffer_new :: CString -> -- initial_chars : TBasicType TUTF8 Int32 -> -- n_initial_chars : TBasicType TInt IO (Ptr EntryBuffer) {- | Create a new GtkEntryBuffer object. Optionally, specify initial text to set in the buffer. /Since: 2.18/ -} entryBufferNew :: (B.CallStack.HasCallStack, MonadIO m) => Maybe (T.Text) {- ^ /@initialChars@/: initial buffer text, or 'Nothing' -} -> Int32 {- ^ /@nInitialChars@/: number of characters in /@initialChars@/, or -1 -} -> m EntryBuffer {- ^ __Returns:__ A new GtkEntryBuffer object. -} entryBufferNew initialChars nInitialChars = liftIO $ do maybeInitialChars <- case initialChars of Nothing -> return nullPtr Just jInitialChars -> do jInitialChars' <- textToCString jInitialChars return jInitialChars' result <- gtk_entry_buffer_new maybeInitialChars nInitialChars checkUnexpectedReturnNULL "entryBufferNew" result result' <- (wrapObject EntryBuffer) result freeMem maybeInitialChars return result' #if ENABLE_OVERLOADING #endif -- method EntryBuffer::delete_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position at which to delete text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to delete", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_delete_text" gtk_entry_buffer_delete_text :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) Word32 -> -- position : TBasicType TUInt Int32 -> -- n_chars : TBasicType TInt IO Word32 {- | Deletes a sequence of characters from the buffer. /@nChars@/ characters are deleted starting at /@position@/. If /@nChars@/ is negative, then all characters until the end of the text are deleted. If /@position@/ or /@nChars@/ are out of bounds, then they are coerced to sane values. Note that the positions are specified in characters, not bytes. /Since: 2.18/ -} entryBufferDeleteText :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> Word32 {- ^ /@position@/: position at which to delete text -} -> Int32 {- ^ /@nChars@/: number of characters to delete -} -> m Word32 {- ^ __Returns:__ The number of characters deleted. -} entryBufferDeleteText buffer position nChars = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer result <- gtk_entry_buffer_delete_text buffer' position nChars touchManagedPtr buffer return result #if ENABLE_OVERLOADING data EntryBufferDeleteTextMethodInfo instance (signature ~ (Word32 -> Int32 -> m Word32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferDeleteTextMethodInfo a signature where overloadedMethod _ = entryBufferDeleteText #endif -- method EntryBuffer::emit_deleted_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position at which text was deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_emit_deleted_text" gtk_entry_buffer_emit_deleted_text :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) Word32 -> -- position : TBasicType TUInt Word32 -> -- n_chars : TBasicType TUInt IO () {- | Used when subclassing 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' /Since: 2.18/ -} entryBufferEmitDeletedText :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> Word32 {- ^ /@position@/: position at which text was deleted -} -> Word32 {- ^ /@nChars@/: number of characters deleted -} -> m () entryBufferEmitDeletedText buffer position nChars = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer gtk_entry_buffer_emit_deleted_text buffer' position nChars touchManagedPtr buffer return () #if ENABLE_OVERLOADING data EntryBufferEmitDeletedTextMethodInfo instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferEmitDeletedTextMethodInfo a signature where overloadedMethod _ = entryBufferEmitDeletedText #endif -- method EntryBuffer::emit_inserted_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position at which text was inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text that was inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_emit_inserted_text" gtk_entry_buffer_emit_inserted_text :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) Word32 -> -- position : TBasicType TUInt CString -> -- chars : TBasicType TUTF8 Word32 -> -- n_chars : TBasicType TUInt IO () {- | Used when subclassing 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' /Since: 2.18/ -} entryBufferEmitInsertedText :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> Word32 {- ^ /@position@/: position at which text was inserted -} -> T.Text {- ^ /@chars@/: text that was inserted -} -> Word32 {- ^ /@nChars@/: number of characters inserted -} -> m () entryBufferEmitInsertedText buffer position chars nChars = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer chars' <- textToCString chars gtk_entry_buffer_emit_inserted_text buffer' position chars' nChars touchManagedPtr buffer freeMem chars' return () #if ENABLE_OVERLOADING data EntryBufferEmitInsertedTextMethodInfo instance (signature ~ (Word32 -> T.Text -> Word32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferEmitInsertedTextMethodInfo a signature where overloadedMethod _ = entryBufferEmitInsertedText #endif -- method EntryBuffer::get_bytes -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt64) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_get_bytes" gtk_entry_buffer_get_bytes :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) IO Word64 {- | Retrieves the length in bytes of the buffer. See 'GI.Gtk.Objects.EntryBuffer.entryBufferGetLength'. /Since: 2.18/ -} entryBufferGetBytes :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> m Word64 {- ^ __Returns:__ The byte length of the buffer. -} entryBufferGetBytes buffer = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer result <- gtk_entry_buffer_get_bytes buffer' touchManagedPtr buffer return result #if ENABLE_OVERLOADING data EntryBufferGetBytesMethodInfo instance (signature ~ (m Word64), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetBytesMethodInfo a signature where overloadedMethod _ = entryBufferGetBytes #endif -- method EntryBuffer::get_length -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_get_length" gtk_entry_buffer_get_length :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) IO Word32 {- | Retrieves the length in characters of the buffer. /Since: 2.18/ -} entryBufferGetLength :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> m Word32 {- ^ __Returns:__ The number of characters in the buffer. -} entryBufferGetLength buffer = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer result <- gtk_entry_buffer_get_length buffer' touchManagedPtr buffer return result #if ENABLE_OVERLOADING data EntryBufferGetLengthMethodInfo instance (signature ~ (m Word32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetLengthMethodInfo a signature where overloadedMethod _ = entryBufferGetLength #endif -- method EntryBuffer::get_max_length -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TInt) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_get_max_length" gtk_entry_buffer_get_max_length :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) IO Int32 {- | Retrieves the maximum allowed length of the text in /@buffer@/. See 'GI.Gtk.Objects.EntryBuffer.entryBufferSetMaxLength'. /Since: 2.18/ -} entryBufferGetMaxLength :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> m Int32 {- ^ __Returns:__ the maximum allowed number of characters in 'GI.Gtk.Objects.EntryBuffer.EntryBuffer', or 0 if there is no maximum. -} entryBufferGetMaxLength buffer = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer result <- gtk_entry_buffer_get_max_length buffer' touchManagedPtr buffer return result #if ENABLE_OVERLOADING data EntryBufferGetMaxLengthMethodInfo instance (signature ~ (m Int32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetMaxLengthMethodInfo a signature where overloadedMethod _ = entryBufferGetMaxLength #endif -- method EntryBuffer::get_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_get_text" gtk_entry_buffer_get_text :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) IO CString {- | Retrieves the contents of the buffer. The memory pointer returned by this call will not change unless this object emits a signal, or is finalized. /Since: 2.18/ -} entryBufferGetText :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> m T.Text {- ^ __Returns:__ a pointer to the contents of the widget as a string. This string points to internally allocated storage in the buffer and must not be freed, modified or stored. -} entryBufferGetText buffer = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer result <- gtk_entry_buffer_get_text buffer' checkUnexpectedReturnNULL "entryBufferGetText" result result' <- cstringToText result touchManagedPtr buffer return result' #if ENABLE_OVERLOADING data EntryBufferGetTextMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetTextMethodInfo a signature where overloadedMethod _ = entryBufferGetText #endif -- method EntryBuffer::insert_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position at which to insert text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to insert into the buffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the text in characters, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt) -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_insert_text" gtk_entry_buffer_insert_text :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) Word32 -> -- position : TBasicType TUInt CString -> -- chars : TBasicType TUTF8 Int32 -> -- n_chars : TBasicType TInt IO Word32 {- | Inserts /@nChars@/ characters of /@chars@/ into the contents of the buffer, at position /@position@/. If /@nChars@/ is negative, then characters from chars will be inserted until a null-terminator is found. If /@position@/ or /@nChars@/ are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values. Note that the position and length are in characters, not in bytes. /Since: 2.18/ -} entryBufferInsertText :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> Word32 {- ^ /@position@/: the position at which to insert text. -} -> T.Text {- ^ /@chars@/: the text to insert into the buffer. -} -> Int32 {- ^ /@nChars@/: the length of the text in characters, or -1 -} -> m Word32 {- ^ __Returns:__ The number of characters actually inserted. -} entryBufferInsertText buffer position chars nChars = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer chars' <- textToCString chars result <- gtk_entry_buffer_insert_text buffer' position chars' nChars touchManagedPtr buffer freeMem chars' return result #if ENABLE_OVERLOADING data EntryBufferInsertTextMethodInfo instance (signature ~ (Word32 -> T.Text -> Int32 -> m Word32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferInsertTextMethodInfo a signature where overloadedMethod _ = entryBufferInsertText #endif -- method EntryBuffer::set_max_length -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of the entry buffer, or 0 for no maximum.\n (other than the maximum length of entries.) The value passed in will\n be clamped to the range 0-65536.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_set_max_length" gtk_entry_buffer_set_max_length :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) Int32 -> -- max_length : TBasicType TInt IO () {- | Sets the maximum allowed length of the contents of the buffer. If the current contents are longer than the given length, then they will be truncated to fit. /Since: 2.18/ -} entryBufferSetMaxLength :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> Int32 {- ^ /@maxLength@/: the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. -} -> m () entryBufferSetMaxLength buffer maxLength = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer gtk_entry_buffer_set_max_length buffer' maxLength touchManagedPtr buffer return () #if ENABLE_OVERLOADING data EntryBufferSetMaxLengthMethodInfo instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferSetMaxLengthMethodInfo a signature where overloadedMethod _ = entryBufferSetMaxLength #endif -- method EntryBuffer::set_text -- method type : OrdinaryMethod -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of characters in @text, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_entry_buffer_set_text" gtk_entry_buffer_set_text :: Ptr EntryBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}) CString -> -- chars : TBasicType TUTF8 Int32 -> -- n_chars : TBasicType TInt IO () {- | Sets the text in the buffer. This is roughly equivalent to calling 'GI.Gtk.Objects.EntryBuffer.entryBufferDeleteText' and 'GI.Gtk.Objects.EntryBuffer.entryBufferInsertText'. Note that /@nChars@/ is in characters, not in bytes. /Since: 2.18/ -} entryBufferSetText :: (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -} -> T.Text {- ^ /@chars@/: the new text -} -> Int32 {- ^ /@nChars@/: the number of characters in /@text@/, or -1 -} -> m () entryBufferSetText buffer chars nChars = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer chars' <- textToCString chars gtk_entry_buffer_set_text buffer' chars' nChars touchManagedPtr buffer freeMem chars' return () #if ENABLE_OVERLOADING data EntryBufferSetTextMethodInfo instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferSetTextMethodInfo a signature where overloadedMethod _ = entryBufferSetText #endif