class Gtk::EntryBuffer


A Gtk::EntryBuffer hold the text displayed in a Gtk::Text widget.

A single Gtk::EntryBuffer object can be shared by multiple widgets which will then share the same text content, but not the cursor position, visibility attributes, icon etc.

Gtk::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.

Direct Known Subclasses

Defined in:



Class Method Summary

Instance Method Summary

Instance methods inherited from class GObject::Object

bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void)? data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void)? qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void)?) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void)? steal_data, steal_qdata(quark : UInt32) : Pointer(Void)? steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, cast?(obj : GObject::Object) : self? cast?, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

compat_control(what : UInt64, data : Pointer(Void)?) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Constructor Detail

def : String?, n_initial_chars : Int32) : self #

Create a new Gtk::EntryBuffer object.

Optionally, specify initial text to set in the buffer.

def #

Initialize a new EntryBuffer.

def*, length : UInt32? = nil, max_length : Int32? = nil, text : String? = nil) #

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.

Instance Method Detail

def bytes : UInt64 #

Retrieves the length in bytes of the buffer.

See Gtk::EntryBuffer#length.

def delete_text(position : UInt32, n_chars : Int32) : UInt32 #

Deletes a sequence of characters from the buffer.

@n_chars characters are deleted starting at @position. If @n_chars is negative, then all characters until the end of the text are deleted.

If @position or @n_chars are out of bounds, then they are coerced to sane values.

Note that the positions are specified in characters, not bytes.

def deleted_text_signal #

def emit_deleted_text(position : UInt32, n_chars : UInt32) : Nil #

Used when subclassing Gtk::EntryBuffer.

def emit_inserted_text(position : UInt32, chars : String, n_chars : UInt32) : Nil #

Used when subclassing Gtk::EntryBuffer.

def insert_text(position : UInt32, chars : String, n_chars : Int32) : UInt32 #

Inserts @n_chars characters of @chars into the contents of the buffer, at position @position.

If @n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If @position or @n_chars 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.

def inserted_text_signal #

def length : UInt32 #

Retrieves the length in characters of the buffer.

def max_length : Int32 #

Retrieves the maximum allowed length of the text in @buffer.

def max_length=(max_length : Int32) : Nil #

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.

def set_text(chars : String, n_chars : Int32) : Nil #

Sets the text in the buffer.

This is roughly equivalent to calling Gtk::EntryBuffer#delete_text and Gtk::EntryBuffer#insert_text.

Note that @n_chars is in characters, not in bytes.

def text : String #

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.

def text=(value : String) : String #