GtkEditable
Interface for text-editing widgets
The #GtkEditable interface is an interface which should be implemented by
text editing widgets, such as #GtkEntry and #GtkText. It contains functions
for generically manipulating an editable widget, a large number of action
signals used for key bindings, and several signals that an application can
connect to to modify the behavior of a widget.
As an example of the latter usage, by connecting
the following handler to "insert_text", an application
can convert all entry into a widget into uppercase.
Forcing entry to uppercase.
#include <ctype.h>
void
insert_text_handler (GtkEditable *editable,
const gchar *text,
gint length,
gint *position,
gpointer data)
{
int i;
gchar *result = g_utf8_strup (text, length);
g_signal_handlers_block_by_func (editable,
(gpointer) insert_text_handler, data);
gtk_editable_insert_text (editable, result, length, position);
g_signal_handlers_unblock_by_func (editable,
(gpointer) insert_text_handler, data);
g_signal_stop_emission_by_name (editable, "insert_text");
g_free (result);
}
The #GtkEditable structure is an opaque structure whose members
cannot be directly accessed.
@editable: the object which received the signal.
@editable:
@start_pos:
@end_pos:
@editable:
@new_text:
@new_text_length:
@position:
@editable:
@start:
@end:
@editable:
@start:
@end:
@Returns:
@editable:
@new_text:
@new_text_length:
@position:
@editable:
@start_pos:
@end_pos:
@editable:
@start_pos:
@end_pos:
@Returns:
@editable:
@editable:
@editable:
@editable:
@editable:
@position:
@editable:
@Returns:
@editable:
@is_editable:
@editable:
@Returns: