![]() |
![]() |
![]() |
GTK+ Reference Manual | ![]() |
---|---|---|---|---|
#include <gtk/gtk.h> GtkEntry; GtkWidget* gtk_entry_new (void); GtkWidget* gtk_entry_new_with_max_length (gint max); void gtk_entry_set_text (GtkEntry *entry, const gchar *text); void gtk_entry_append_text (GtkEntry *entry, const gchar *text); void gtk_entry_prepend_text (GtkEntry *entry, const gchar *text); void gtk_entry_set_position (GtkEntry *entry, gint position); const gchar* gtk_entry_get_text (GtkEntry *entry); guint16 gtk_entry_get_text_length (GtkEntry *entry); void gtk_entry_select_region (GtkEntry *entry, gint start, gint end); void gtk_entry_set_visibility (GtkEntry *entry, gboolean visible); void gtk_entry_set_invisible_char (GtkEntry *entry, gunichar ch); void gtk_entry_set_editable (GtkEntry *entry, gboolean editable); void gtk_entry_set_max_length (GtkEntry *entry, gint max); gboolean gtk_entry_get_activates_default (GtkEntry *entry); gboolean gtk_entry_get_has_frame (GtkEntry *entry); const GtkBorder* gtk_entry_get_inner_border (GtkEntry *entry); gint gtk_entry_get_width_chars (GtkEntry *entry); void gtk_entry_set_activates_default (GtkEntry *entry, gboolean setting); void gtk_entry_set_has_frame (GtkEntry *entry, gboolean setting); void gtk_entry_set_inner_border (GtkEntry *entry, const GtkBorder *border); void gtk_entry_set_width_chars (GtkEntry *entry, gint n_chars); gunichar gtk_entry_get_invisible_char (GtkEntry *entry); void gtk_entry_set_alignment (GtkEntry *entry, gfloat xalign); gfloat gtk_entry_get_alignment (GtkEntry *entry); void gtk_entry_set_overwrite_mode (GtkEntry *entry, gboolean overwrite); gboolean gtk_entry_get_overwrite_mode (GtkEntry *entry); PangoLayout* gtk_entry_get_layout (GtkEntry *entry); void gtk_entry_get_layout_offsets (GtkEntry *entry, gint *x, gint *y); gint gtk_entry_layout_index_to_text_index (GtkEntry *entry, gint layout_index); gint gtk_entry_text_index_to_layout_index (GtkEntry *entry, gint text_index); gint gtk_entry_get_max_length (GtkEntry *entry); gboolean gtk_entry_get_visibility (GtkEntry *entry); void gtk_entry_set_completion (GtkEntry *entry, GtkEntryCompletion *completion); GtkEntryCompletion* gtk_entry_get_completion (GtkEntry *entry); void gtk_entry_set_cursor_hadjustment (GtkEntry *entry, GtkAdjustment *adjustment); GtkAdjustment* gtk_entry_get_cursor_hadjustment (GtkEntry *entry); HildonGtkInputMode hildon_gtk_entry_get_input_mode (GtkEntry *entry); void hildon_gtk_entry_set_input_mode (GtkEntry *entry, HildonGtkInputMode input_mode);
GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkEntry +----GtkSpinButton
GtkEntry implements AtkImplementorIface, GtkBuildable, GtkCellEditable and GtkEditable.
"activates-default" gboolean : Read / Write "cursor-position" gint : Read "editable" gboolean : Read / Write "has-frame" gboolean : Read / Write "hildon-input-default" HildonGtkInputMode : Read / Write / Construct "hildon-input-mode" HildonGtkInputMode : Read / Write / Construct "hildon-placeholder-text" gchar* : Read / Write "inner-border" GtkBorder* : Read / Write "invisible-char" guint : Read / Write "max-length" gint : Read / Write "overwrite-mode" gboolean : Read / Write "progress-fraction" gdouble : Read / Write "progress-pulse-step" gdouble : Read / Write "scroll-offset" gint : Read "selection-bound" gint : Read "shadow-type" GtkShadowType : Read / Write "text" gchar* : Read / Write "text-length" guint : Read "truncate-multiline" gboolean : Read / Write "visibility" gboolean : Read / Write "width-chars" gint : Read / Write "xalign" gfloat : Read / Write
"activate" : Run Last / Action "backspace" : Run Last / Action "copy-clipboard" : Run Last / Action "cut-clipboard" : Run Last / Action "delete-from-cursor" : Run Last / Action "insert-at-cursor" : Run Last / Action "invalid-input" : Run Last / Action "move-cursor" : Run Last / Action "paste-clipboard" : Run Last / Action "populate-popup" : Run Last "toggle-overwrite" : Run Last / Action
The GtkEntry widget is a single line text entry widget. A fairly large set of key bindings are supported by default. If the entered text is longer than the allocation of the widget, the widget will scroll so that the cursor position is visible.
GtkWidget* gtk_entry_new_with_max_length (gint max);
gtk_entry_new_with_max_length
is deprecated and should not be used in newly-written code.
Creates a new GtkEntry widget with the given maximum length.
Note: the existence of this function is inconsistent
with the rest of the GTK+ API. The normal setup would
be to just require the user to make an extra call
to gtk_entry_set_max_length()
instead. It is not
expected that this function will be removed, but
it would be better practice not to use it.
max : |
the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. |
Returns : | a new GtkEntry. |
void gtk_entry_set_text (GtkEntry *entry, const gchar *text);
Sets the text in the widget to the given value, replacing the current contents.
entry : |
a GtkEntry |
text : |
the new text |
void gtk_entry_append_text (GtkEntry *entry, const gchar *text);
gtk_entry_append_text
has been deprecated since version 2.0 and should not be used in newly-written code. Use gtk_editable_insert_text()
instead.
Appends the given text to the contents of the widget.
entry : |
a GtkEntry |
text : |
the text to append |
void gtk_entry_prepend_text (GtkEntry *entry, const gchar *text);
gtk_entry_prepend_text
has been deprecated since version 2.0 and should not be used in newly-written code. Use gtk_editable_insert_text()
instead.
Prepends the given text to the contents of the widget.
entry : |
a GtkEntry |
text : |
the text to prepend |
void gtk_entry_set_position (GtkEntry *entry, gint position);
gtk_entry_set_position
has been deprecated since version 2.0 and should not be used in newly-written code. Use gtk_editable_set_position()
instead.
Sets the cursor position in an entry to the given value.
entry : |
a GtkEntry |
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. |
const gchar* gtk_entry_get_text (GtkEntry *entry);
Retrieves the contents of the entry widget.
See also gtk_editable_get_chars()
.
entry : |
a GtkEntry |
Returns : | a pointer to the contents of the widget as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored. |
guint16 gtk_entry_get_text_length (GtkEntry *entry);
Retrieves the current length of the text in
entry
.
Since 2.14
void gtk_entry_select_region (GtkEntry *entry, gint start, gint end);
gtk_entry_select_region
has been deprecated since version 2.0 and should not be used in newly-written code. Use gtk_editable_select_region()
instead.
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.
entry : |
a GtkEntry |
start : |
the starting position |
end : |
the end position |
void gtk_entry_set_visibility (GtkEntry *entry, gboolean visible);
Sets whether the contents of the entry are visible or not.
When visibility is set to FALSE
, characters are displayed
as the invisible char, and will also appear that way when
the text in the entry widget is copied elsewhere.
The default invisible char is the asterisk '*', but it can
be changed with gtk_entry_set_invisible_char()
.
entry : |
a GtkEntry |
visible : |
TRUE if the contents of the entry are displayed
as plaintext
|
void gtk_entry_set_invisible_char (GtkEntry *entry, gunichar ch);
Sets the character to use in place of the actual text when
gtk_entry_set_visibility()
has been called to set text visibility
to FALSE
. i.e. this is the character used in "password mode" to
show the user how many characters have been typed. The default
invisible char is an asterisk ('*'). If you set the invisible char
to 0, then the user will get no feedback at all; there will be
no text on the screen as they type.
entry : |
a GtkEntry |
ch : |
a Unicode character |
void gtk_entry_set_editable (GtkEntry *entry, gboolean editable);
gtk_entry_set_editable
has been deprecated since version 2.0 and should not be used in newly-written code. Use gtk_editable_set_editable()
instead.
Determines if the user can edit the text in the editable widget or not.
entry : |
a GtkEntry |
editable : |
TRUE if the user is allowed to edit the text
in the widget
|
void gtk_entry_set_max_length (GtkEntry *entry, gint max);
Sets the maximum allowed length of the contents of the widget. If the current contents are longer than the given length, then they will be truncated to fit.
entry : |
a GtkEntry |
max : |
the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. |
gboolean gtk_entry_get_activates_default (GtkEntry *entry);
Retrieves the value set by gtk_entry_set_activates_default()
.
entry : |
a GtkEntry |
Returns : | TRUE if the entry will activate the default widget
|
gboolean gtk_entry_get_has_frame (GtkEntry *entry);
Gets the value set by gtk_entry_set_has_frame()
.
entry : |
a GtkEntry |
Returns : | whether the entry has a beveled frame |
const GtkBorder* gtk_entry_get_inner_border (GtkEntry *entry);
This function returns the entry's "inner-border" property. See
gtk_entry_set_inner_border()
for more information.
Since 2.10
gint gtk_entry_get_width_chars (GtkEntry *entry);
Gets the value set by gtk_entry_set_width_chars()
.
entry : |
a GtkEntry |
Returns : | number of chars to request space for, or negative if unset |
void gtk_entry_set_activates_default (GtkEntry *entry, gboolean setting);
If setting
is TRUE
, pressing Enter in the entry
will activate the default
widget for the window containing the entry. This usually means that
the dialog box containing the entry will be closed, since the default
widget is usually one of the dialog buttons.
(For experts: if setting
is TRUE
, the entry calls
gtk_window_activate_default()
on the window containing the entry, in
the default handler for the "activate" signal.)
entry : |
a GtkEntry |
setting : |
TRUE to activate window's default widget on Enter keypress
|
void gtk_entry_set_has_frame (GtkEntry *entry, gboolean setting);
Sets whether the entry has a beveled frame around it.
entry : |
a GtkEntry |
setting : |
new value |
void gtk_entry_set_inner_border (GtkEntry *entry, const GtkBorder *border);
Sets entry
's inner-border property to border
, or clears it if NULL
is passed. The inner-border is the area around the entry's text, but
inside its frame.
If set, this property overrides the inner-border style property. Overriding the style-provided border is useful when you want to do in-place editing of some text in a canvas or list widget, where pixel-exact positioning of the entry is important.
Since 2.10
void gtk_entry_set_width_chars (GtkEntry *entry, gint n_chars);
Changes the size request of the entry to be about the right size
for n_chars
characters. Note that it changes the size
request, the size can still be affected by
how you pack the widget into containers. If n_chars
is -1, the
size reverts to the default entry size.
entry : |
a GtkEntry |
n_chars : |
width in chars |
gunichar gtk_entry_get_invisible_char (GtkEntry *entry);
Retrieves the character displayed in place of the real characters
for entries with visibility set to false. See gtk_entry_set_invisible_char()
.
entry : |
a GtkEntry |
Returns : | the current invisible char, or 0, if the entry does not show invisible text at all. |
void gtk_entry_set_alignment (GtkEntry *entry, gfloat xalign);
Sets the alignment for the contents of the entry. This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the entry.
entry : |
a GtkEntry |
xalign : |
The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts |
Since 2.4
gfloat gtk_entry_get_alignment (GtkEntry *entry);
Gets the value set by gtk_entry_set_alignment()
.
entry : |
a GtkEntry |
Returns : | the alignment |
Since 2.4
void gtk_entry_set_overwrite_mode (GtkEntry *entry, gboolean overwrite);
Sets whether the text is overwritten when typing in the GtkEntry.
entry : |
a GtkEntry |
overwrite : |
new value |
Since 2.14
gboolean gtk_entry_get_overwrite_mode (GtkEntry *entry);
Gets the value set by gtk_entry_set_overwrite_mode()
.
entry : |
a GtkEntry |
Returns : | whether the text is overwritten when typing. |
Since 2.14
PangoLayout* gtk_entry_get_layout (GtkEntry *entry);
Gets the PangoLayout used to display the entry.
The layout is useful to e.g. convert text positions to
pixel positions, in combination with gtk_entry_get_layout_offsets()
.
The returned layout is owned by the entry and must not be
modified or freed by the caller.
Keep in mind that the layout text may contain a preedit string, so
gtk_entry_layout_index_to_text_index()
and
gtk_entry_text_index_to_layout_index()
are needed to convert byte
indices in the layout to byte indices in the entry contents.
entry : |
a GtkEntry |
Returns : | the PangoLayout for this entry |
void gtk_entry_get_layout_offsets (GtkEntry *entry, gint *x, gint *y);
Obtains the position of the PangoLayout used to render text in the entry, in widget coordinates. Useful if you want to line up the text in an entry with some other text, e.g. when using the entry to implement editable cells in a sheet widget.
Also useful to convert mouse events into coordinates inside the PangoLayout, e.g. to take some action if some part of the entry text is clicked.
Note that as the user scrolls around in the entry the offsets will
change; you'll need to connect to the "notify::scroll-offset"
signal to track this. Remember when using the PangoLayout
functions you need to convert to and from pixels using
PANGO_PIXELS()
or PANGO_SCALE.
Keep in mind that the layout text may contain a preedit string, so
gtk_entry_layout_index_to_text_index()
and
gtk_entry_text_index_to_layout_index()
are needed to convert byte
indices in the layout to byte indices in the entry contents.
entry : |
a GtkEntry |
x : |
location to store X offset of layout, or NULL
|
y : |
location to store Y offset of layout, or NULL
|
gint gtk_entry_layout_index_to_text_index (GtkEntry *entry, gint layout_index);
Converts from a position in the entry contents (returned
by gtk_entry_get_text()
) to a position in the
entry's PangoLayout (returned by gtk_entry_get_layout()
,
with text retrieved via pango_layout_get_text()
).
entry : |
a GtkEntry |
layout_index : |
byte index into the entry layout text |
Returns : | byte index into the entry contents |
gint gtk_entry_text_index_to_layout_index (GtkEntry *entry, gint text_index);
Converts from a position in the entry's PangoLayout (returned by
gtk_entry_get_layout()
) to a position in the entry contents
(returned by gtk_entry_get_text()
).
entry : |
a GtkEntry |
text_index : |
byte index into the entry contents |
Returns : | byte index into the entry layout text |
gint gtk_entry_get_max_length (GtkEntry *entry);
Retrieves the maximum allowed length of the text in
entry
. See gtk_entry_set_max_length()
.
gboolean gtk_entry_get_visibility (GtkEntry *entry);
Retrieves whether the text in entry
is visible. See
gtk_entry_set_visibility()
.
entry : |
a GtkEntry |
Returns : | TRUE if the text is currently visible
|
void gtk_entry_set_completion (GtkEntry *entry, GtkEntryCompletion *completion);
Sets completion
to be the auxiliary completion object to use with entry
.
All further configuration of the completion mechanism is done on
completion
using the GtkEntryCompletion API. Completion is disabled if
completion
is set to NULL
.
entry : |
A GtkEntry |
completion : |
The GtkEntryCompletion or NULL
|
Since 2.4
GtkEntryCompletion* gtk_entry_get_completion (GtkEntry *entry);
Returns the auxiliary completion object currently in use by entry
.
entry : |
A GtkEntry |
Returns : | The auxiliary completion object currently in use by entry .
|
Since 2.4
void gtk_entry_set_cursor_hadjustment (GtkEntry *entry, GtkAdjustment *adjustment);
Hooks up an adjustment to the cursor position in an entry, so that when
the cursor is moved, the adjustment is scrolled to show that position.
See gtk_scrolled_window_get_hadjustment()
for a typical way of obtaining
the adjustment.
The adjustment has to be in pixel units and in the same coordinate system as the entry.
entry : |
a GtkEntry |
adjustment : |
an adjustment which should be adjusted when the cursor
is moved, or NULL
|
Since 2.12
GtkAdjustment* gtk_entry_get_cursor_hadjustment (GtkEntry *entry);
Retrieves the horizontal cursor adjustment for the entry.
See gtk_entry_set_cursor_hadjustment()
.
entry : |
a GtkEntry |
Returns : | the horizontal cursor adjustment, or NULL
if none has been set.
|
Since 2.12
HildonGtkInputMode hildon_gtk_entry_get_input_mode (GtkEntry *entry);
entry : |
|
Returns : |
void hildon_gtk_entry_set_input_mode (GtkEntry *entry, HildonGtkInputMode input_mode);
entry : |
|
input_mode : |
"activates-default"
property"activates-default" gboolean : Read / Write
Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.
Default value: FALSE
"cursor-position"
property"cursor-position" gint : Read
The current position of the insertion cursor in chars.
Allowed values: [0,65535]
Default value: 0
"editable"
property"editable" gboolean : Read / Write
Whether the entry contents can be edited.
Default value: TRUE
"has-frame"
property"has-frame" gboolean : Read / Write
FALSE removes outside bevel from entry.
Default value: TRUE
"hildon-input-default"
property"hildon-input-default" HildonGtkInputMode : Read / Write / Construct
Default input mode for this IM context. See HildonGtkInputMode.
The default setting for this property is HILDON_GTK_INPUT_MODE_FULL
,
which means that the default input mode to be used is up to the
implementation of the IM context.
Default value: HILDON_GTK_INPUT_MODE_ALPHA|HILDON_GTK_INPUT_MODE_NUMERIC|HILDON_GTK_INPUT_MODE_SPECIAL
Since maemo 5
"hildon-input-mode"
property"hildon-input-mode" HildonGtkInputMode : Read / Write / Construct
Allowed characters and input mode for the entry. See HildonGtkInputMode.
Default value: HILDON_GTK_INPUT_MODE_ALPHA|HILDON_GTK_INPUT_MODE_NUMERIC|HILDON_GTK_INPUT_MODE_SPECIAL|HILDON_GTK_INPUT_MODE_AUTOCAP|HILDON_GTK_INPUT_MODE_DICTIONARY
Since maemo 2.0
Stability Level Unstable
"hildon-placeholder-text"
property"hildon-placeholder-text" gchar* : Read / Write
Text to be displayed in the GtkEntry when it is empty.
Default value: ""
Since maemo 5
"inner-border"
property"inner-border" GtkBorder* : Read / Write
Sets the text area's border between the text and the frame.
Since 2.10
"invisible-char"
property"invisible-char" guint : Read / Write
The character to use when masking entry contents (in "password mode").
Default value: '*'
"max-length"
property"max-length" gint : Read / Write
Maximum number of characters for this entry. Zero if no maximum.
Allowed values: [0,65535]
Default value: 0
"overwrite-mode"
property"overwrite-mode" gboolean : Read / Write
If text is overwritten when typing in the GtkEntry.
Default value: FALSE
Since 2.14
"progress-fraction"
property"progress-fraction" gdouble : Read / Write
The current fraction of the task that's been completed.
Allowed values: [0,1]
Default value: 0
Since 2.16
"progress-pulse-step"
property"progress-pulse-step" gdouble : Read / Write
The fraction of total entry width to move the progress
bouncing block for each call to gtk_entry_progress_pulse()
.
Allowed values: [0,1]
Default value: 0.1
Since 2.16
"scroll-offset"
property"scroll-offset" gint : Read
Number of pixels of the entry scrolled off the screen to the left.
Allowed values: >= 0
Default value: 0
"selection-bound"
property"selection-bound" gint : Read
The position of the opposite end of the selection from the cursor in chars.
Allowed values: [0,65535]
Default value: 0
"shadow-type"
property"shadow-type" GtkShadowType : Read / Write
Which kind of shadow to draw around the entry when
"has-frame" is set to TRUE
.
Default value: GTK_SHADOW_IN
Since 2.12
"text-length"
property"text-length" guint : Read
The length of the text in the GtkEntry.
Allowed values: <= 65535
Default value: 0
Since 2.14
"truncate-multiline"
property"truncate-multiline" gboolean : Read / Write
When TRUE
, pasted multi-line text is truncated to the first line.
Default value: TRUE
Since 2.10
"visibility"
property"visibility" gboolean : Read / Write
FALSE displays the "invisible char" instead of the actual text (password mode).
Default value: TRUE
"width-chars"
property"width-chars" gint : Read / Write
Number of characters to leave space for in the entry.
Allowed values: >= -1
Default value: -1
"xalign"
property"xalign" gfloat : Read / Write
The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
Allowed values: [0,1]
Default value: 0
Since 2.4
"inner-border"
style property"inner-border" GtkBorder* : Read
Sets the text area's border between the text and the frame.
Since 2.10
"state-hint"
style property"state-hint" gboolean : Read
Indicates whether to pass a proper widget state when drawing the shadow and the widget background.
Default value: FALSE
Since 2.16
"activate"
signalvoid user_function (GtkEntry *entry, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
user_data : |
user data set when the signal handler was connected. |
"backspace"
signalvoid user_function (GtkEntry *entry, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
user_data : |
user data set when the signal handler was connected. |
"copy-clipboard"
signalvoid user_function (GtkEntry *entry, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
user_data : |
user data set when the signal handler was connected. |
"cut-clipboard"
signalvoid user_function (GtkEntry *entry, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
user_data : |
user data set when the signal handler was connected. |
"delete-from-cursor"
signalvoid user_function (GtkEntry *entry, GtkDeleteType arg1, gint arg2, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
arg1 : |
|
arg2 : |
|
user_data : |
user data set when the signal handler was connected. |
"insert-at-cursor"
signalvoid user_function (GtkEntry *entry, gchar *arg1, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
arg1 : |
|
user_data : |
user data set when the signal handler was connected. |
"invalid-input"
signalvoid user_function (GtkEntry *arg0, GtkInvalidInputType arg1, gpointer user_data) : Run Last / Action
Emitted when the users enters a character that does not belong to the HildonGtkInputMode of the entry, or the maximum number of characters has been reached.
user_data : |
user data set when the signal handler was connected. |
Since maemo 1.0
Stability Level: Unstable
"move-cursor"
signalvoid user_function (GtkEntry *entry, GtkMovementStep arg1, gint arg2, gboolean arg3, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
arg1 : |
|
arg2 : |
|
arg3 : |
|
user_data : |
user data set when the signal handler was connected. |
"paste-clipboard"
signalvoid user_function (GtkEntry *entry, gpointer user_data) : Run Last / Action
entry : |
the object which received the signal. |
user_data : |
user data set when the signal handler was connected. |
"populate-popup"
signalvoid user_function (GtkEntry *entry, GtkMenu *arg1, gpointer user_data) : Run Last
entry : |
the object which received the signal. |
arg1 : |
|
user_data : |
user data set when the signal handler was connected. |