Class
GtkEntry
Description [src]
class Gtk.Entry : Gtk.Widget
implements Atk.ImplementorIface, Gtk.Buildable, Gtk.CellEditable, Gtk.Editable {
/* No available fields */
}
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.
When using an entry for passwords and other sensitive information,
it can be put into “password mode” using gtk_entry_set_visibility().
In this mode, entered text is displayed using a “invisible” character.
By default, GTK+ picks the best invisible character that is available
in the current font, but it can be changed with
gtk_entry_set_invisible_char(). Since 2.16, GTK+ displays a warning
when Caps Lock or input methods might interfere with entering text in
a password entry. The warning can be turned off with the
GtkEntry:caps-lock-warning
property.
Since 2.16, GtkEntry has the ability to display progress or activity
information behind the text. To make an entry display such information,
use gtk_entry_set_progress_fraction()
or gtk_entry_set_progress_pulse_step().
Additionally, GtkEntry can show icons at either side of the entry. These
icons can be activatable by clicking, can be set up as drag source and
can have tooltips. To add an icon, use gtk_entry_set_icon_from_gicon()
or
one of the various other functions that set an icon from a stock id, an
icon name or a pixbuf. To trigger an action when the user clicks an icon,
connect to the GtkEntry::icon-press
signal. To allow DND operations
from an icon, use gtk_entry_set_icon_drag_source(). To set a tooltip on
an icon, use gtk_entry_set_icon_tooltip_text()
or the corresponding function
for markup.
Note that functionality or information that is only available by clicking on an icon in an entry may not be accessible at all to users which are not able to use a mouse or other pointing device. It is therefore recommended that any such functionality should also be available by other means, e.g. via the context menu of the entry.
CSS nodes
entry[.read-only][.flat][.warning][.error]
├── image.left
├── image.right
├── undershoot.left
├── undershoot.right
├── [selection]
├── [progress[.pulse]]
╰── [window.popup]
GtkEntry has a main node with the name entry. Depending on the properties of the entry, the style classes .read-only and .flat may appear. The style classes .warning and .error may also be used with entries.
When the entry shows icons, it adds subnodes with the name image and the style class .left or .right, depending on where the icon appears.
When the entry has a selection, it adds a subnode with the name selection.
When the entry shows progress, it adds a subnode with the name progress. The node has the style class .pulse when the shown progress is pulsing.
The CSS node for a context menu is added as a subnode below entry as well.
The undershoot nodes are used to draw the underflow indication when content is scrolled out of view. These nodes get the .left and .right style classes added depending on where the indication is drawn.
When touch is used and touch selection handles are shown, they are using CSS nodes with name cursor-handle. They get the .top or .bottom style class depending on where they are shown in relation to the selection. If there is just a single handle for the text cursor, it gets the style class .insertion-cursor.
Instance methods
gtk_entry_get_attributes
Gets the attribute list that was set on the entry using gtk_entry_set_attributes(), if any.
since: 3.6
gtk_entry_get_buffer
Get the GtkEntryBuffer
object which holds the text for
this widget.
since: 2.18
gtk_entry_get_completion
Returns the auxiliary completion object currently in use by entry
.
since: 2.4
gtk_entry_get_current_icon_drag_source
Returns the index of the icon which is the source of the current DND operation, or -1.
since: 2.16
gtk_entry_get_cursor_hadjustment
Retrieves the horizontal cursor adjustment for the entry. See gtk_entry_set_cursor_hadjustment().
since: 2.12
gtk_entry_get_icon_area
Gets the area where entry’s icon at icon_pos
is drawn.
This function is useful when drawing something to the
entry in a draw callback.
since: 3.0
gtk_entry_get_icon_at_pos
Finds the icon at the given position and return its index. The
position’s coordinates are relative to the entry
’s top left corner.
If x
, y
doesn’t lie inside an icon, -1 is returned.
This function is intended for use in a GtkWidget::query-tooltip
signal handler.
since: 2.16
gtk_entry_get_icon_gicon
Retrieves the GIcon
used for the icon, or NULL
if there is
no icon or if the icon was set by some other method (e.g., by
stock, pixbuf, or icon name).
since: 2.16
gtk_entry_get_icon_name
Retrieves the icon name used for the icon, or NULL
if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, stock or gicon).
since: 2.16
gtk_entry_get_icon_stock
Retrieves the stock id used for the icon, or NULL
if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, icon name or gicon).
deprecated: 3.10 since: 2.16
gtk_entry_get_icon_storage_type
Gets the type of representation being used by the icon
to store image data. If the icon has no image data,
the return value will be GTK_IMAGE_EMPTY
.
since: 2.16
gtk_entry_get_icon_tooltip_markup
Gets the contents of the tooltip on the icon at the specified
position in entry
.
since: 2.16
gtk_entry_get_icon_tooltip_text
Gets the contents of the tooltip on the icon at the specified
position in entry
.
since: 2.16
gtk_entry_get_inner_border
This function returns the entry’s GtkEntry:inner-border
property. See
gtk_entry_set_inner_border()
for more information.
deprecated: 3.4 since: 2.10
gtk_entry_get_invisible_char
Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_entry_set_invisible_char().
gtk_entry_get_layout
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.
gtk_entry_get_layout_offsets
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.
gtk_entry_get_max_length
Retrieves the maximum allowed length of the text in
entry
. See gtk_entry_set_max_length().
gtk_entry_get_max_width_chars
Retrieves the desired maximum width of entry
, in characters.
See gtk_entry_set_max_width_chars().
since: 3.12
gtk_entry_get_placeholder_text
Retrieves the text that will be displayed when entry
is empty and unfocused.
since: 3.2
gtk_entry_get_progress_fraction
Returns the current fraction of the task that’s been completed. See gtk_entry_set_progress_fraction().
since: 2.16
gtk_entry_get_progress_pulse_step
Retrieves the pulse step set with gtk_entry_set_progress_pulse_step().
since: 2.16
gtk_entry_get_tabs
Gets the tabstops that were set on the entry using gtk_entry_set_tabs(), if any.
since: 3.10
gtk_entry_get_text_area
Gets the area where the entry’s text is drawn. This function is useful when drawing something to the entry in a draw callback.
since: 3.0
gtk_entry_get_visibility
Retrieves whether the text in entry
is visible. See gtk_entry_set_visibility().
gtk_entry_im_context_filter_keypress
Allow the GtkEntry
input method to internally handle key press
and release events. If this function returns TRUE
, then no further
processing should be done for this key event. See gtk_im_context_filter_keypress().
since: 2.22
gtk_entry_layout_index_to_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()).
gtk_entry_progress_pulse
Indicates that some progress is made, but you don’t know how much.
Causes the entry’s progress indicator to enter “activity mode,”
where a block bounces back and forth. Each call to
gtk_entry_progress_pulse()
causes the block to move by a little bit
(the amount of movement per pulse is determined by gtk_entry_set_progress_pulse_step()).
since: 2.16
gtk_entry_set_activates_default
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.
gtk_entry_set_alignment
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.
since: 2.4
gtk_entry_set_attributes
Sets a PangoAttrList
; the attributes in the list are applied to the
entry text.
since: 3.6
gtk_entry_set_buffer
Set the GtkEntryBuffer
object which holds the text for
this widget.
since: 2.18
gtk_entry_set_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
.
since: 2.4
gtk_entry_set_cursor_hadjustment
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.
since: 2.12
gtk_entry_set_icon_drag_source
Sets up the icon at the given position so that GTK+ will start a drag operation when the user clicks and drags the icon.
since: 2.16
gtk_entry_set_icon_from_gicon
Sets the icon shown in the entry at the specified position from the current icon theme. If the icon isn’t known, a “broken image” icon will be displayed instead.
since: 2.16
gtk_entry_set_icon_from_icon_name
Sets the icon shown in the entry at the specified position from the current icon theme.
since: 2.16
gtk_entry_set_icon_from_pixbuf
Sets the icon shown in the specified position using a pixbuf.
since: 2.16
gtk_entry_set_icon_from_stock
Sets the icon shown in the entry at the specified position from a stock image.
deprecated: 3.10 since: 2.16
gtk_entry_set_icon_tooltip_markup
Sets tooltip
as the contents of the tooltip for the icon at
the specified position. tooltip
is assumed to be marked up with
the [Pango text markup language][PangoMarkupFormat].
since: 2.16
gtk_entry_set_icon_tooltip_text
Sets tooltip
as the contents of the tooltip for the icon
at the specified position.
since: 2.16
gtk_entry_set_inner_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.
deprecated: 3.4 since: 2.10
gtk_entry_set_input_hints
Sets the GtkEntry:input-hints
property, which
allows input methods to fine-tune their behaviour.
since: 3.6
gtk_entry_set_input_purpose
Sets the GtkEntry:input-purpose
property which
can be used by on-screen keyboards and other input
methods to adjust their behaviour.
since: 3.6
gtk_entry_set_invisible_char
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. By default, GTK+
picks the best invisible char available in the current font. 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.
gtk_entry_set_max_length
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.
gtk_entry_set_overwrite_mode
Sets whether the text is overwritten when typing in the GtkEntry
.
since: 2.14
gtk_entry_set_placeholder_text
Sets text to be displayed in entry
when it is empty and unfocused.
This can be used to give a visual hint of the expected contents of
the GtkEntry
.
since: 3.2
gtk_entry_set_progress_fraction
Causes the entry’s progress indicator to “fill in” the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive.
since: 2.16
gtk_entry_set_progress_pulse_step
Sets the fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse().
since: 2.16
gtk_entry_set_tabs
Sets a PangoTabArray
; the tabstops in the array are applied to the entry text.
since: 3.10
gtk_entry_set_visibility
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.
gtk_entry_set_width_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.
gtk_entry_text_index_to_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()).
gtk_entry_unset_invisible_char
Unsets the invisible char previously set with gtk_entry_set_invisible_char(). So that the default invisible char is used again.
since: 2.16
Methods inherited from GtkBuildable (10)
gtk_buildable_add_child
Adds a child to buildable
. type
is an optional string
describing how the child should be added.
since: 2.12
gtk_buildable_construct_child
Constructs a child of buildable
with the name name
.
since: 2.12
gtk_buildable_custom_finished
This is similar to gtk_buildable_parser_finished()
but is
called once for each custom tag handled by the buildable
.
since: 2.12
gtk_buildable_custom_tag_end
This is called at the end of each custom element handled by the buildable.
since: 2.12
gtk_buildable_custom_tag_start
This is called for each unknown element under <child>
.
since: 2.12
gtk_buildable_get_internal_child
Get the internal child called childname
of the buildable
object.
since: 2.12
gtk_buildable_get_name
Gets the name of the buildable
object.
since: 2.12
gtk_buildable_parser_finished
Called when the builder finishes the parsing of a
[GtkBuilder UI definition][BUILDER-UI].
Note that this will be called once for each time
gtk_builder_add_from_file()
or gtk_builder_add_from_string()
is called on a builder.
since: 2.12
gtk_buildable_set_buildable_property
Sets the property name name
to value
on the buildable
object.
since: 2.12
gtk_buildable_set_name
Sets the name of the buildable
object.
since: 2.12
Methods inherited from GtkCellEditable (3)
gtk_cell_editable_editing_done
Emits the GtkCellEditable::editing-done
signal.
gtk_cell_editable_remove_widget
Emits the GtkCellEditable::remove-widget
signal.
gtk_cell_editable_start_editing
Begins editing on a cell_editable
.
Methods inherited from GtkEditable (13)
gtk_editable_copy_clipboard
Copies the contents of the currently selected content in the editable and puts it on the clipboard.
gtk_editable_cut_clipboard
Removes the contents of the currently selected content in the editable and puts it on the clipboard.
gtk_editable_delete_selection
Deletes the currently selected text of the editable. This call doesn’t do anything if there is no selected text.
gtk_editable_delete_text
Deletes 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 characters deleted
are those from start_pos
to the end of the text.
gtk_editable_get_chars
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 characters
retrieved are those characters from start_pos
to the end of the text.
gtk_editable_get_editable
Retrieves whether editable
is editable. See gtk_editable_set_editable().
gtk_editable_get_position
Retrieves the current position of the cursor relative to the start of the content of the editable.
gtk_editable_get_selection_bounds
Retrieves the selection bound of the editable. start_pos will be filled
with the start of the selection and end_pos
with end. If no text was
selected both will be identical and FALSE
will be returned.
gtk_editable_insert_text
Inserts new_text_length
bytes of new_text
into the contents of the
widget, at position position
.
gtk_editable_paste_clipboard
Pastes the content of the clipboard to the current position of the cursor in the editable.
gtk_editable_select_region
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
characters selected are those characters from start_pos
to
the end of the text.
gtk_editable_set_editable
Determines if the user can edit the text in the editable widget or not.
gtk_editable_set_position
Sets the cursor position in the editable to the given value.
Properties
Gtk.Entry:caps-lock-warning
Whether password entries will show a warning when Caps Lock is on.
since: 2.16
Gtk.Entry:im-module
Which IM (input method) module should be used for this entry.
See GtkIMContext
.
since: 2.16
Gtk.Entry:inner-border
Sets the text area’s border between the text and the frame.
deprecated: 3.4 since: 2.10
Gtk.Entry:input-hints
Additional hints (beyond GtkEntry:input-purpose
) that
allow input methods to fine-tune their behaviour.
since: 3.6
Gtk.Entry:invisible-char
The invisible character is used when masking entry contents (in
"password mode")”). When it is not explicitly set with the
GtkEntry:invisible-char
property, GTK+ determines the character
to use from a list of possible candidates, depending on availability
in the current font.
since: 2.18
Gtk.Entry:max-width-chars
The desired maximum width of the entry, in characters. If this property is set to -1, the width will be calculated automatically.
since: 3.12
Gtk.Entry:placeholder-text
The text that will be displayed in the GtkEntry
when it is empty
and unfocused.
since: 3.2
Gtk.Entry:populate-all
If :populate-all is TRUE
, the GtkEntry::populate-popup
signal is also emitted for touch popups.
since: 3.8
Gtk.Entry:primary-icon-stock
The stock id to use for the primary icon for the entry.
deprecated: 3.10 since: 2.16
Gtk.Entry:primary-icon-storage-type
The representation which is used for the primary icon of the entry.
since: 2.16
Gtk.Entry:primary-icon-tooltip-markup
The contents of the tooltip on the primary icon, which is marked up with the [Pango text markup language][PangoMarkupFormat].
since: 2.16
Gtk.Entry:progress-pulse-step
The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse().
since: 2.16
Gtk.Entry:secondary-icon-name
The icon name to use for the secondary icon for the entry.
since: 2.16
Gtk.Entry:secondary-icon-stock
The stock id to use for the secondary icon for the entry.
deprecated: 3.10 since: 2.16
Gtk.Entry:secondary-icon-storage-type
The representation which is used for the secondary icon of the entry.
since: 2.16
Gtk.Entry:secondary-icon-tooltip-markup
The contents of the tooltip on the secondary icon, which is marked up with the [Pango text markup language][PangoMarkupFormat].
since: 2.16
Gtk.Entry:secondary-icon-tooltip-text
The contents of the tooltip on the secondary icon.
since: 2.16
Gtk.Entry:shadow-type
Which kind of shadow to draw around the entry when
GtkEntry:has-frame
is set to TRUE
.
deprecated: 3.20 since: 2.12
Gtk.Entry:truncate-multiline
When TRUE
, pasted multi-line text is truncated to the first line.
since: 2.10
Gtk.Entry:xalign
The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
since: 2.4
Properties inherited from GtkWidget (39)
Gtk.Widget:app-paintable
Gtk.Widget:can-default
Gtk.Widget:can-focus
Gtk.Widget:composite-child
Gtk.Widget:double-buffered
Whether the widget is double buffered.
deprecated: 3.14 since: 2.18
Gtk.Widget:events
Gtk.Widget:expand
Whether to expand in both directions. Setting this sets both GtkWidget:hexpand
and GtkWidget:vexpand
.
since: 3.0
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
since: 3.20
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space, see GtkAlign
.
since: 3.0
Gtk.Widget:has-default
Gtk.Widget:has-focus
Gtk.Widget:has-tooltip
Enables or disables the emission of GtkWidget::query-tooltip
on widget
.
A value of TRUE
indicates that widget
can have a tooltip, in this case
the widget will be queried using GtkWidget::query-tooltip
to determine
whether it will provide a tooltip or not.
since: 2.12
Gtk.Widget:height-request
Gtk.Widget:hexpand
Whether to expand horizontally. See gtk_widget_set_hexpand().
since: 3.0
Gtk.Widget:hexpand-set
Whether to use the GtkWidget:hexpand
property. See gtk_widget_get_hexpand_set().
since: 3.0
Gtk.Widget:is-focus
Gtk.Widget:margin
Sets all four sides’ margin at once. If read, returns max margin on any side.
since: 3.0
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
since: 3.0
Gtk.Widget:margin-end
Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
since: 3.12
Gtk.Widget:margin-left
Margin on left side of widget.
deprecated: 3.12 since: 3.0
Gtk.Widget:margin-right
Margin on right side of widget.
deprecated: 3.12 since: 3.0
Gtk.Widget:margin-start
Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
since: 3.12
Gtk.Widget:margin-top
Margin on top side of widget.
since: 3.0
Gtk.Widget:name
Gtk.Widget:no-show-all
Gtk.Widget:opacity
The requested opacity of the widget. See gtk_widget_set_opacity()
for
more details about window opacity.
since: 3.8
Gtk.Widget:parent
Gtk.Widget:receives-default
Gtk.Widget:scale-factor
The scale factor of the widget. See gtk_widget_get_scale_factor()
for
more details about widget scaling.
since: 3.10
Gtk.Widget:sensitive
Gtk.Widget:style
The style of the widget, which contains information about how it will look (colors, etc).
deprecated: Unknown
Gtk.Widget:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see gtk_tooltip_set_markup().
since: 2.12
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
since: 2.12
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space, see GtkAlign
.
since: 3.0
Gtk.Widget:vexpand
Whether to expand vertically. See gtk_widget_set_vexpand().
since: 3.0
Gtk.Widget:vexpand-set
Whether to use the GtkWidget:vexpand
property. See gtk_widget_get_vexpand_set().
since: 3.0
Gtk.Widget:visible
Gtk.Widget:width-request
Gtk.Widget:window
The widget’s window if it is realized, NULL
otherwise.
since: 2.14
Properties inherited from GtkCellEditable (1)
GtkCellEditable:editing-canceled
Indicates whether editing on the cell has been canceled.
since: 2.20
Signals
Gtk.Entry::backspace
The ::backspace signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user asks for it.
Gtk.Entry::copy-clipboard
The ::copy-clipboard signal is a [keybinding signal][GtkBindingSignal] which gets emitted to copy the selection to the clipboard.
Gtk.Entry::cut-clipboard
The ::cut-clipboard signal is a [keybinding signal][GtkBindingSignal] which gets emitted to cut the selection to the clipboard.
Gtk.Entry::delete-from-cursor
The ::delete-from-cursor signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user initiates a text deletion.
Gtk.Entry::icon-press
The ::icon-press signal is emitted when an activatable icon is clicked.
since: 2.16
Gtk.Entry::icon-release
The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.
since: 2.16
Gtk.Entry::insert-at-cursor
The ::insert-at-cursor signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user initiates the insertion of a fixed string at the cursor.
Gtk.Entry::insert-emoji
The ::insert-emoji signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to present the Emoji chooser for the entry
.
since: 3.22.27
Gtk.Entry::move-cursor
The ::move-cursor signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in entry
, this signal causes
the viewport to be moved instead.
Gtk.Entry::paste-clipboard
The ::paste-clipboard signal is a [keybinding signal][GtkBindingSignal] which gets emitted to paste the contents of the clipboard into the text view.
Gtk.Entry::populate-popup
The ::populate-popup signal gets emitted before showing the context menu of the entry.
Gtk.Entry::preedit-changed
If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal.
since: 2.20
Gtk.Entry::toggle-overwrite
The ::toggle-overwrite signal is a [keybinding signal][GtkBindingSignal] which gets emitted to toggle the overwrite mode of the entry.
Signals inherited from GtkWidget (69)
GtkWidget::accel-closures-changed
GtkWidget::button-press-event
The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.
GtkWidget::button-release-event
The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.
GtkWidget::can-activate-accel
Determines whether an accelerator that activates the signal
identified by signal_id
can currently be activated.
This signal is present to allow applications and derived
widgets to override the default GtkWidget
handling
for determining whether an accelerator can be activated.
GtkWidget::child-notify
The ::child-notify signal is emitted for each [child property][child-properties] that has changed on an object. The signal’s detail holds the property name.
GtkWidget::composited-changed
The ::composited-changed signal is emitted when the composited
status of widgets
screen changes.
See gdk_screen_is_composited().
deprecated: 3.22
GtkWidget::configure-event
The ::configure-event signal will be emitted when the size, position or
stacking of the widget
‘s window has changed.
GtkWidget::damage-event
Emitted when a redirected window belonging to widget
gets drawn into.
The region/area members of the event shows what area of the redirected
drawable was drawn into.
since: 2.14
GtkWidget::delete-event
The ::delete-event signal is emitted if a user requests that
a toplevel window is closed. The default handler for this signal
destroys the window. Connecting gtk_widget_hide_on_delete()
to
this signal will cause the window to be hidden instead, so that
it can later be shown again without reconstructing it.
GtkWidget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released.
GtkWidget::destroy-event
The ::destroy-event signal is emitted when a GdkWindow
is destroyed.
You rarely get this signal, because most widgets disconnect themselves
from their window before they destroy it, so no widget owns the
window at destroy time.
GtkWidget::direction-changed
The ::direction-changed signal is emitted when the text direction of a widget changes.
GtkWidget::drag-begin
The ::drag-begin signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with e.g. gtk_drag_source_set_icon_pixbuf().
GtkWidget::drag-data-delete
The ::drag-data-delete signal is emitted on the drag source when a drag
with the action GDK_ACTION_MOVE
is successfully completed. The signal
handler is responsible for deleting the data that has been dropped. What
“delete” means depends on the context of the drag operation.
GtkWidget::drag-data-get
The ::drag-data-get signal is emitted on the drag source when the drop
site requests the data which is dragged. It is the responsibility of
the signal handler to fill data
with the data in the format which
is indicated by info
. See gtk_selection_data_set()
and gtk_selection_data_set_text().
GtkWidget::drag-data-received
The ::drag-data-received signal is emitted on the drop site when the
dragged data has been received. If the data was received in order to
determine whether the drop will be accepted, the handler is expected
to call gdk_drag_status()
and not finish the drag.
If the data was received in response to a GtkWidget::drag-drop
signal
(and this is the last target to be received), the handler for this
signal is expected to process the received data and then call
gtk_drag_finish(), setting the success
parameter depending on
whether the data was processed successfully.
GtkWidget::drag-drop
The ::drag-drop signal is emitted on the drop site when the user drops
the data onto the widget. The signal handler must determine whether
the cursor position is in a drop zone or not. If it is not in a drop
zone, it returns FALSE
and no further processing is necessary.
Otherwise, the handler returns TRUE
. In this case, the handler must
ensure that gtk_drag_finish()
is called to let the source know that
the drop is done. The call to gtk_drag_finish()
can be done either
directly or in a GtkWidget::drag-data-received
handler which gets
triggered by calling gtk_drag_get_data()
to receive the data for one
or more of the supported targets.
GtkWidget::drag-end
The ::drag-end signal is emitted on the drag source when a drag is
finished. A typical reason to connect to this signal is to undo
things done in GtkWidget::drag-begin
.
GtkWidget::drag-failed
The ::drag-failed signal is emitted on the drag source when a drag has
failed. The signal handler may hook custom code to handle a failed DnD
operation based on the type of error, it returns TRUE
is the failure has
been already handled (not showing the default “drag operation failed”
animation), otherwise it returns FALSE
.
since: 2.12
GtkWidget::drag-leave
The ::drag-leave signal is emitted on the drop site when the cursor
leaves the widget. A typical reason to connect to this signal is to
undo things done in GtkWidget::drag-motion
, e.g. undo highlighting
with gtk_drag_unhighlight().
GtkWidget::drag-motion
The ::drag-motion signal is emitted on the drop site when the user
moves the cursor over the widget during a drag. The signal handler
must determine whether the cursor position is in a drop zone or not.
If it is not in a drop zone, it returns FALSE
and no further processing
is necessary. Otherwise, the handler returns TRUE
. In this case, the
handler is responsible for providing the necessary information for
displaying feedback to the user, by calling gdk_drag_status().
GtkWidget::draw
This signal is emitted when a widget is supposed to render itself.
The widget
‘s top left corner must be painted at the origin of
the passed in context and be sized to the values returned by
gtk_widget_get_allocated_width()
and gtk_widget_get_allocated_height().
since: 3.0
GtkWidget::enter-notify-event
The ::enter-notify-event will be emitted when the pointer enters
the widget
‘s window.
GtkWidget::event
The GTK+ main loop will emit three signals for each GDK event delivered
to a widget: one generic ::event signal, another, more specific,
signal that matches the type of event delivered (e.g.
GtkWidget::key-press-event
) and finally a generic
GtkWidget::event-after
signal.
GtkWidget::event-after
After the emission of the GtkWidget::event
signal and (optionally)
the second more specific signal, ::event-after will be emitted
regardless of the previous two signals handlers return values.
GtkWidget::focus
GtkWidget::focus-in-event
The ::focus-in-event signal will be emitted when the keyboard focus
enters the widget
‘s window.
GtkWidget::focus-out-event
The ::focus-out-event signal will be emitted when the keyboard focus
leaves the widget
‘s window.
GtkWidget::grab-broken-event
Emitted when a pointer or keyboard grab on a window belonging
to widget
gets broken.
since: 2.8
GtkWidget::grab-focus
GtkWidget::grab-notify
The ::grab-notify signal is emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed.
GtkWidget::hide
The ::hide signal is emitted when widget
is hidden, for example with gtk_widget_hide().
GtkWidget::hierarchy-changed
The ::hierarchy-changed signal is emitted when the
anchored state of a widget changes. A widget is
“anchored” when its toplevel
ancestor is a GtkWindow
. This signal is emitted when
a widget changes from un-anchored to anchored or vice-versa.
GtkWidget::key-press-event
The ::key-press-event signal is emitted when a key is pressed. The signal emission will reoccur at the key-repeat rate when the key is kept pressed.
GtkWidget::key-release-event
The ::key-release-event signal is emitted when a key is released.
GtkWidget::keynav-failed
Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed()
for details.
since: 2.12
GtkWidget::leave-notify-event
The ::leave-notify-event will be emitted when the pointer leaves
the widget
‘s window.
GtkWidget::map
The ::map signal is emitted when widget
is going to be mapped, that is
when the widget is visible (which is controlled with
gtk_widget_set_visible()) and all its parents up to the toplevel widget
are also visible. Once the map has occurred, GtkWidget::map-event
will
be emitted.
GtkWidget::map-event
The ::map-event signal will be emitted when the widget
‘s window is
mapped. A window is mapped when it becomes visible on the screen.
GtkWidget::mnemonic-activate
The default handler for this signal activates widget
if group_cycling
is FALSE
, or just makes widget
grab focus if group_cycling
is TRUE
.
GtkWidget::motion-notify-event
The ::motion-notify-event signal is emitted when the pointer moves
over the widget’s GdkWindow
.
GtkWidget::move-focus
GtkWidget::parent-set
The ::parent-set signal is emitted when a new parent has been set on a widget.
GtkWidget::popup-menu
This signal gets emitted whenever a widget should pop up a context
menu. This usually happens through the standard key binding mechanism;
by pressing a certain key while a widget is focused, the user can cause
the widget to pop up a menu. For example, the GtkEntry
widget creates
a menu with clipboard commands. See the
[Popup Menu Migration Checklist][checklist-popup-menu]
for an example of how to use this signal.
GtkWidget::property-notify-event
The ::property-notify-event signal will be emitted when a property on
the widget
‘s window has been changed or deleted.
GtkWidget::proximity-in-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_IN_MASK mask.
GtkWidget::proximity-out-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_OUT_MASK mask.
GtkWidget::query-tooltip
Emitted when GtkWidget:has-tooltip
is TRUE
and the hover timeout
has expired with the cursor hovering “above” widget
; or emitted when widget
got
focus in keyboard mode.
since: 2.12
GtkWidget::realize
The ::realize signal is emitted when widget
is associated with a
GdkWindow
, which means that gtk_widget_realize()
has been called or the
widget has been mapped (that is, it is going to be drawn).
GtkWidget::screen-changed
The ::screen-changed signal gets emitted when the screen of a widget has changed.
GtkWidget::scroll-event
The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.
GtkWidget::selection-clear-event
The ::selection-clear-event signal will be emitted when the
the widget
‘s window has lost ownership of a selection.
GtkWidget::selection-get
GtkWidget::selection-notify-event
GtkWidget::selection-received
GtkWidget::selection-request-event
The ::selection-request-event signal will be emitted when
another client requests ownership of the selection owned by
the widget
‘s window.
GtkWidget::show
The ::show signal is emitted when widget
is shown, for example with gtk_widget_show().
GtkWidget::show-help
GtkWidget::size-allocate
GtkWidget::state-changed
The ::state-changed signal is emitted when the widget state changes. See gtk_widget_get_state().
deprecated: 3.0
GtkWidget::state-flags-changed
The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags().
since: 3.0
GtkWidget::style-set
The ::style-set signal is emitted when a new style has been set
on a widget. Note that style-modifying functions like
gtk_widget_modify_base()
also cause this signal to be emitted.
deprecated: 3.0
GtkWidget::style-updated
The ::style-updated signal is a convenience signal that is emitted when the
GtkStyleContext::changed
signal is emitted on the widget
‘s associated
GtkStyleContext
as returned by gtk_widget_get_style_context().
since: 3.0
GtkWidget::touch-event
GtkWidget::unmap
The ::unmap signal is emitted when widget
is going to be unmapped, which
means that either it or any of its parents up to the toplevel widget have
been set as hidden.
GtkWidget::unmap-event
The ::unmap-event signal will be emitted when the widget
‘s window is
unmapped. A window is unmapped when it becomes invisible on the screen.
GtkWidget::unrealize
The ::unrealize signal is emitted when the GdkWindow
associated with
widget
is destroyed, which means that gtk_widget_unrealize()
has been
called or the widget has been unmapped (that is, it is going to be hidden).
GtkWidget::visibility-notify-event
The ::visibility-notify-event will be emitted when the widget
‘s
window is obscured or unobscured.
deprecated: 3.12
GtkWidget::window-state-event
The ::window-state-event will be emitted when the state of the
toplevel window associated to the widget
changes.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Signals inherited from GtkCellEditable (2)
GtkCellEditable::editing-done
This signal is a sign for the cell renderer to update its
value from the cell_editable
.
GtkCellEditable::remove-widget
This signal is meant to indicate that the cell is finished
editing, and the cell_editable
widget is being removed and may
subsequently be destroyed.
Signals inherited from GtkEditable (3)
GtkEditable::changed
The ::changed signal is emitted at the end of a single
user-visible operation on the contents of the GtkEditable
.
GtkEditable::delete-text
This signal is emitted when text is deleted from
the widget by the user. The default handler for
this signal will normally be responsible for deleting
the text, so by connecting to this signal and then
stopping the signal with g_signal_stop_emission(), it
is possible to modify the range of deleted text, or
prevent it from being deleted entirely. The start_pos
and end_pos
parameters are interpreted as for gtk_editable_delete_text().
GtkEditable::insert-text
This signal is emitted when text is inserted into the widget by the user. The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the inserted text, or prevent it from being inserted entirely.
Class structure
struct GtkEntryClass {
GtkWidgetClass parent_class;
void (* populate_popup) (
GtkEntry* entry,
GtkWidget* popup
);
void (* activate) (
GtkEntry* entry
);
void (* move_cursor) (
GtkEntry* entry,
GtkMovementStep step,
gint count,
gboolean extend_selection
);
void (* insert_at_cursor) (
GtkEntry* entry,
const gchar* str
);
void (* delete_from_cursor) (
GtkEntry* entry,
GtkDeleteType type,
gint count
);
void (* backspace) (
GtkEntry* entry
);
void (* cut_clipboard) (
GtkEntry* entry
);
void (* copy_clipboard) (
GtkEntry* entry
);
void (* paste_clipboard) (
GtkEntry* entry
);
void (* toggle_overwrite) (
GtkEntry* entry
);
void (* get_text_area_size) (
GtkEntry* entry,
gint* x,
gint* y,
gint* width,
gint* height
);
void (* get_frame_size) (
GtkEntry* entry,
gint* x,
gint* y,
gint* width,
gint* height
);
void (* insert_emoji) (
GtkEntry* entry
);
void (* _gtk_reserved1) (
void
);
void (* _gtk_reserved2) (
void
);
void (* _gtk_reserved3) (
void
);
void (* _gtk_reserved4) (
void
);
void (* _gtk_reserved5) (
void
);
void (* _gtk_reserved6) (
void
);
}
Class structure for GtkEntry
. All virtual functions have a default
implementation. Derived classes may set the virtual function pointers for the
signal handlers to NULL
, but must keep get_text_area_size
and
get_frame_size
non-NULL
; either use the default implementation, or provide
a custom one.
Class members
parent_class: GtkWidgetClass
The parent class.
populate_popup: void (* populate_popup) ( GtkEntry* entry, GtkWidget* popup )
Class handler for the
GtkEntry::populate-popup
signal. If non-NULL
, this will be called to add additional entries to the context menu when it is displayed.activate: void (* activate) ( GtkEntry* entry )
Class handler for the
GtkEntry::activate
signal. The default implementation callsgtk_window_activate_default()
on the entry’s top-level window.move_cursor: void (* move_cursor) ( GtkEntry* entry, GtkMovementStep step, gint count, gboolean extend_selection )
Class handler for the
GtkEntry::move-cursor
signal. The default implementation specifies the standardGtkEntry
cursor movement behavior.insert_at_cursor: void (* insert_at_cursor) ( GtkEntry* entry, const gchar* str )
Class handler for the
GtkEntry::insert-at-cursor
signal. The default implementation inserts text at the cursor.delete_from_cursor: void (* delete_from_cursor) ( GtkEntry* entry, GtkDeleteType type, gint count )
Class handler for the
GtkEntry::delete-from-cursor
signal. The default implementation deletes the selection or the specified number of characters or words.backspace: void (* backspace) ( GtkEntry* entry )
Class handler for the
GtkEntry::backspace
signal. The default implementation deletes the selection or a single character or word.cut_clipboard: void (* cut_clipboard) ( GtkEntry* entry )
Class handler for the
GtkEntry::cut-clipboard
signal. The default implementation cuts the selection, if one exists.copy_clipboard: void (* copy_clipboard) ( GtkEntry* entry )
Class handler for the
GtkEntry::copy-clipboard
signal. The default implementation copies the selection, if one exists.paste_clipboard: void (* paste_clipboard) ( GtkEntry* entry )
Class handler for the
GtkEntry::paste-clipboard
signal. The default implementation pastes at the current cursor position or over the current selection if one exists.toggle_overwrite: void (* toggle_overwrite) ( GtkEntry* entry )
Class handler for the
GtkEntry::toggle-overwrite
signal. The default implementation toggles overwrite mode and blinks the cursor.get_text_area_size: void (* get_text_area_size) ( GtkEntry* entry, gint* x, gint* y, gint* width, gint* height )
Calculate the size of the text area, which is its allocated width and requested height, minus space for margins and borders. This virtual function must be non-
NULL
.get_frame_size: void (* get_frame_size) ( GtkEntry* entry, gint* x, gint* y, gint* width, gint* height )
Calculate the size of the text area frame, which is its allocated width and requested height, minus space for margins and borders, and taking baseline and text height into account. This virtual function must be non-
NULL
.insert_emoji: void (* insert_emoji) ( GtkEntry* entry )
No description available.
_gtk_reserved1: void (* _gtk_reserved1) ( void )
No description available.
_gtk_reserved2: void (* _gtk_reserved2) ( void )
No description available.
_gtk_reserved3: void (* _gtk_reserved3) ( void )
No description available.
_gtk_reserved4: void (* _gtk_reserved4) ( void )
No description available.
_gtk_reserved5: void (* _gtk_reserved5) ( void )
No description available.
_gtk_reserved6: void (* _gtk_reserved6) ( void )
No description available.
Virtual methods
Gtk.EntryClass.activate
Class handler for the GtkEntry::activate
signal. The default
implementation calls gtk_window_activate_default()
on the entry’s top-level window.
Gtk.EntryClass.backspace
Class handler for the GtkEntry::backspace
signal. The default
implementation deletes the selection or a single character or word.
Gtk.EntryClass.copy_clipboard
Class handler for the GtkEntry::copy-clipboard
signal. The
default implementation copies the selection, if one exists.
Gtk.EntryClass.cut_clipboard
Class handler for the GtkEntry::cut-clipboard
signal. The
default implementation cuts the selection, if one exists.
Gtk.EntryClass.delete_from_cursor
Class handler for the GtkEntry::delete-from-cursor
signal. The default implementation deletes the selection or the specified
number of characters or words.
Gtk.EntryClass.get_frame_size
Calculate the size of the text area frame, which is its
allocated width and requested height, minus space for margins and borders,
and taking baseline and text height into account. This virtual function
must be non-NULL
.
Gtk.EntryClass.get_text_area_size
Calculate the size of the text area, which is its
allocated width and requested height, minus space for margins and borders.
This virtual function must be non-NULL
.
Gtk.EntryClass.insert_at_cursor
Class handler for the GtkEntry::insert-at-cursor
signal.
The default implementation inserts text at the cursor.
Gtk.EntryClass.move_cursor
Class handler for the GtkEntry::move-cursor
signal. The
default implementation specifies the standard GtkEntry
cursor movement behavior.
Gtk.EntryClass.paste_clipboard
Class handler for the GtkEntry::paste-clipboard
signal.
The default implementation pastes at the current cursor position or over
the current selection if one exists.
Gtk.EntryClass.populate_popup
Class handler for the GtkEntry::populate-popup
signal. If
non-NULL
, this will be called to add additional entries to the context
menu when it is displayed.
Gtk.EntryClass.toggle_overwrite
Class handler for the GtkEntry::toggle-overwrite
signal.
The default implementation toggles overwrite mode and blinks the cursor.