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: