Description
The GtkEntryBuffer class contains the actual text displayed in a
GtkEntry widget.
A single GtkEntryBuffer object can be shared by multiple GtkEntry
widgets which will then share the same text content, but not the cursor
position, visibility attributes, icon etc.
GtkEntryBuffer 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.
Functions
gtk_entry_buffer_new ()
GtkEntryBuffer *
gtk_entry_buffer_new (const gchar *initial_chars,
gint n_initial_chars);
Create a new GtkEntryBuffer object.
Optionally, specify initial text to set in the buffer.
Returns
A new GtkEntryBuffer object.
Since: 2.18
gtk_entry_buffer_get_text ()
const gchar *
gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);
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.
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.
Since: 2.18
gtk_entry_buffer_get_length ()
guint
gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);
Retrieves the length in characters of the buffer.
Returns
The number of characters in the buffer.
Since: 2.18
gtk_entry_buffer_set_max_length ()
void
gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
gint max_length);
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
gtk_entry_buffer_insert_text ()
guint
gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer,
guint position,
const gchar *chars,
gint n_chars);
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.
Returns
The number of characters actually inserted.
Since: 2.18
gtk_entry_buffer_delete_text ()
guint
gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer,
guint position,
gint n_chars);
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.
Returns
The number of characters deleted.
Since: 2.18
Signal Details
The “deleted-text” signal
void
user_function (GtkEntryBuffer *buffer,
guint position,
guint n_chars,
gpointer user_data)
This signal is emitted after text is deleted from the buffer.
Flags: Run First
Since: 2.18