1999-08-16 18:51:52 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
GtkEditable
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
|
|
Base class for text-editing widgets.
|
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
|
|
<para>
|
|
|
|
The #GtkEditable class is a base class for widgets
|
|
|
|
for editing text, such as #GtkEntry and #GtkText. It
|
|
|
|
cannot be instantiated by itself. The editable
|
|
|
|
class 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.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
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.
|
|
|
|
|
|
|
|
<example>
|
|
|
|
<title> Forcing entry to uppercase </title>
|
|
|
|
<programlisting>
|
|
|
|
#include <ctype.h>
|
|
|
|
|
|
|
|
void
|
|
|
|
insert_text_handler (GtkEditable *editable,
|
|
|
|
const gchar *text,
|
|
|
|
gint length,
|
|
|
|
gint *position,
|
|
|
|
gpointer data)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
gchar *result = g_new (gchar, length);
|
|
|
|
|
|
|
|
for (i=0; i<length; i++)
|
|
|
|
result[i] = islower(text[i]) ? toupper(text[i]) : text[i];
|
|
|
|
|
|
|
|
gtk_signal_handler_block_by_func (GTK_OBJECT (editable),
|
|
|
|
GTK_SIGNAL_FUNC (insert_text_handler),
|
|
|
|
data);
|
|
|
|
gtk_editable_insert_text (editable, result, length, position);
|
|
|
|
gtk_signal_handler_unblock_by_func (GTK_OBJECT (editable),
|
|
|
|
GTK_SIGNAL_FUNC (insert_text_handler),
|
|
|
|
data);
|
|
|
|
|
|
|
|
gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
|
|
|
|
|
|
|
|
g_free (result);
|
|
|
|
}
|
|
|
|
</programlisting>
|
|
|
|
</example>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### STRUCT GtkEditable ##### -->
|
|
|
|
<para>
|
|
|
|
The #GtkEditable structure contains the following fields.
|
|
|
|
(These fields should be considered read-only. They should
|
|
|
|
never be set by an application.)
|
|
|
|
|
|
|
|
<informaltable pgwide=1 frame="none" role="struct">
|
|
|
|
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
|
|
<tbody>
|
|
|
|
|
|
|
|
<row>
|
|
|
|
<entry>#guint selection_start;</entry>
|
|
|
|
<entry>the starting position of the selected characters
|
|
|
|
in the widget.</entry>
|
|
|
|
</row>
|
|
|
|
|
|
|
|
<row>
|
|
|
|
<entry>#guint selection_end;</entry>
|
|
|
|
<entry>the end position of the selected characters
|
|
|
|
in the widget.</entry>
|
|
|
|
</row>
|
|
|
|
|
|
|
|
<row>
|
|
|
|
<entry>#guint editable;</entry>
|
|
|
|
<entry>a flag indicating whether or not the widget is
|
|
|
|
editable by the user.</entry>
|
|
|
|
</row>
|
|
|
|
|
|
|
|
</tbody></tgroup></informaltable>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_select_region ##### -->
|
|
|
|
<para>
|
|
|
|
Selects a region of text. The characters that
|
|
|
|
are selected are those characters at positions from
|
|
|
|
@start_pos up to, but not including @end_pos. If
|
|
|
|
@end_pos is negative, then the the characters selected
|
|
|
|
will be those characters from @start_pos to the end
|
|
|
|
of the text.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@start: the starting position.
|
|
|
|
@end: the end position.
|
|
|
|
|
|
|
|
|
2000-11-14 16:36:20 +00:00
|
|
|
<!-- ##### FUNCTION gtk_editable_get_selection_bounds ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable:
|
|
|
|
@start:
|
|
|
|
@end:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
<!-- ##### FUNCTION gtk_editable_insert_text ##### -->
|
|
|
|
<para>
|
|
|
|
Insert text at a given position.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@new_text: the text to insert.
|
|
|
|
@new_text_length: the length of the text to insert, in bytes
|
|
|
|
@position: an inout parameter. The caller initializes it to
|
|
|
|
the position at which to insert the text. After the
|
|
|
|
call it points at the position after the newly
|
|
|
|
inserted text.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_delete_text ##### -->
|
|
|
|
<para>
|
|
|
|
Delete a sequence of characters. The characters that
|
|
|
|
are deleted are those characters at positions from
|
|
|
|
@start_pos up to, but not including @end_pos. If
|
|
|
|
@end_pos is negative, then the the characters deleted
|
|
|
|
will be those characters from @start_pos to the end
|
|
|
|
of the text.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@start_pos: the starting position.
|
|
|
|
@end_pos: the end position.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_get_chars ##### -->
|
|
|
|
<para>
|
|
|
|
Retrieves a sequence of characters. The characters that
|
|
|
|
are retrieved are those characters at positions from
|
|
|
|
@start_pos up to, but not including @end_pos. If
|
|
|
|
@end_pos is negative, then the the characters retrieved
|
|
|
|
will be those characters from @start_pos to the end
|
|
|
|
of the text.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@start_pos: the starting position.
|
|
|
|
@end_pos: the end position.
|
|
|
|
@Returns: the characters in the indicated region.
|
|
|
|
The result must be freed with g_free() when
|
|
|
|
the application is finished with it.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_cut_clipboard ##### -->
|
|
|
|
<para>
|
|
|
|
Causes the characters in the current selection to
|
|
|
|
be copied to the clipboard and then deleted from
|
|
|
|
the widget.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_copy_clipboard ##### -->
|
|
|
|
<para>
|
|
|
|
Causes the characters in the current selection to
|
|
|
|
be copied to the clipboard.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_paste_clipboard ##### -->
|
|
|
|
<para>
|
|
|
|
Causes the contents of the clipboard to be pasted into
|
|
|
|
the given widget at the current cursor position.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_delete_selection ##### -->
|
|
|
|
<para>
|
|
|
|
Deletes the current contents of the widgets selection and
|
|
|
|
disclaims the selection.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_set_position ##### -->
|
|
|
|
<para>
|
|
|
|
Sets the cursor position.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@position: the position of the cursor. The cursor is displayed
|
|
|
|
before the character with the given (base 0) index
|
|
|
|
in the widget. The value must be less than or
|
|
|
|
equal to the number of characters in the widget.
|
|
|
|
A value of -1 indicates that the position should
|
|
|
|
be set after the last character in the entry.
|
|
|
|
Note that this position is in characters, not in
|
|
|
|
bytes.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_get_position ##### -->
|
|
|
|
<para>
|
|
|
|
Retrieves the current cursor position.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@Returns: the position of the cursor. The cursor is displayed
|
|
|
|
before the character with the given (base 0) index
|
|
|
|
in the widget. The value will be less than or
|
|
|
|
equal to the number of characters in the widget.
|
|
|
|
Note that this position is in characters, not in
|
|
|
|
bytes.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_editable_set_editable ##### -->
|
|
|
|
<para>
|
|
|
|
Determines if the user can edit the text in the editable
|
|
|
|
widget or not.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@editable: a #GtkEditable widget.
|
|
|
|
@is_editable: %TRUE if the user is allowed to edit the text
|
|
|
|
in the widget.
|
|
|
|
|
|
|
|
|