Class: Gtk::SearchEntry
- Defined in:
- (unknown)
Overview
GtkSearchEntry is an entry widget that has been tailored for use
as a search entry.
The main API for interacting with a GtkSearchEntry as entry
is the GtkEditable interface.

It will show an inactive symbolic “find” icon when the search entry is empty, and a symbolic “clear” icon when there is text. Clicking on the “clear” icon will empty the search entry.
To make filtering appear more reactive, it is a good idea to
not react to every change in the entry text immediately, but
only after a short delay. To support this, GtkSearchEntry
emits the [signalGtk.SearchEntry::search-changed] signal which
can be used instead of the [signalGtk.Editable::changed] signal.
The [signalGtk.SearchEntry::previous-match], [signalGtk.SearchEntry::next-match] and [signalGtk.SearchEntry::stop-search] signals can be used to implement moving between search results and ending the search.
Often, GtkSearchEntry will be fed events by means of being
placed inside a [classGtk.SearchBar]. If that is not the case,
you can use [methodGtk.SearchEntry.set_key_capture_widget] to
let it capture key input from another widget.
GtkSearchEntry provides only minimal API and should be used with
the [ifaceGtk.Editable] API.
CSS Nodes
entry.search
╰── text
GtkSearchEntry has a single CSS node with name entry that carries
a .search style class, and the text node is a child of that.
Accessibility
GtkSearchEntry uses the %GTK_ACCESSIBLE_ROLE_SEARCH_BOX role.
Instance Method Summary collapse
-
#activates_default=(activates_default) ⇒ Boolean
Whether to activate the default widget when Enter is pressed.
-
#activates_default? ⇒ Boolean
Whether to activate the default widget when Enter is pressed.
-
#initialize ⇒ Gtk::Widget
constructor
Creates a
GtkSearchEntry. -
#input_hints ⇒ Gtk::InputHints
The hints about input for the
GtkSearchEntryused to alter the behaviour of input methods. -
#input_hints=(input_hints) ⇒ Gtk::InputHints
The hints about input for the
GtkSearchEntryused to alter the behaviour of input methods. -
#input_purpose ⇒ Gtk::InputPurpose
The purpose for the
GtkSearchEntryinput used to alter the behaviour of input methods. -
#input_purpose=(input_purpose) ⇒ Gtk::InputPurpose
The purpose for the
GtkSearchEntryinput used to alter the behaviour of input methods. -
#key_capture_widget ⇒ Gtk::Widget
Gets the widget that entry is capturing key events from.
-
#key_capture_widget=(widget) ⇒ nil
Sets widget as the widget that entry will capture key events from.
-
#placeholder_text ⇒ String
The text that will be displayed in the
GtkSearchEntrywhen it is empty and unfocused. -
#placeholder_text=(placeholder_text) ⇒ String
The text that will be displayed in the
GtkSearchEntrywhen it is empty and unfocused. -
#search_delay ⇒ Integer
The delay in milliseconds from last keypress to the search changed signal.
-
#search_delay=(search_delay) ⇒ Integer
The delay in milliseconds from last keypress to the search changed signal.
Methods inherited from Widget
#accessible_role, #accessible_role=, #action_set_enabled, #activate, #activate_action, #activate_action_variant, #activate_default, #activate_signal, #activate_signal=, #activate_signal_from_name=, #add_binding, #add_binding_action, #add_binding_signal, #add_controller, #add_css_class, #add_events, #add_events_raw, #add_mnemonic_label, #add_shortcut, #add_tick_callback, #allocate, #allocated_baseline, #allocated_height, #allocated_width, #baseline, #bind_template_callback_full, #bind_template_child, #bind_template_child_full, #can_focus, #can_focus=, #can_focus?, #can_target, #can_target=, #can_target?, #child_focus, #child_visible, #child_visible=, #clipboard, #compute_bounds, #compute_expand, #compute_point, #compute_transform, #contains, #create_pango_context, #create_pango_layout, #css_classes, #css_classes=, #css_name, #css_name=, #cursor, #cursor=, #cursor_from_name=, default_direction, default_direction=, #direction, #direction=, #display, #dispose_template, #drag_check_threshold, #drag_dest_set, #drag_dest_set_raw, #drag_source_set, #drag_source_set_raw, #error_bell, #events, #events_raw, #first_child, #focus_child, #focus_child=, #focus_on_click, #focus_on_click=, #focus_on_click?, #focusable, #focusable=, #focusable?, #font_map, #font_map=, #font_options, #font_options=, #frame_clock, #get_allocation, #get_ancestor, #get_color, #get_preferred_size, #get_size, #get_size_request, #get_template_child, #grab_focus, #halign, #halign=, #has_css_class, #has_default, #has_default=, #has_default?, #has_focus, #has_focus=, #has_focus?, #has_tooltip, #has_tooltip=, #has_tooltip?, #has_visible_focus, have_template?, #height, #height_request, #height_request=, #hexpand, #hexpand=, #hexpand?, #hexpand_set, #hexpand_set=, #hexpand_set?, #hide, #in_destruction, #init_template, #insert_action_group, #insert_action_group_raw, #insert_after, #insert_before, #install_action, #install_property_action, #is_ancestor, #is_drawable, #is_focus, #is_sensitive, #is_visible, #keynav_failed, #last_child, #layout_manager, #layout_manager=, #layout_manager_type, #layout_manager_type=, #list_mnemonic_labels, #map, #mapped, #margin_bottom, #margin_bottom=, #margin_end, #margin_end=, #margin_start, #margin_start=, #margin_top, #margin_top=, #measure, #mnemonic_activate, #name, #name=, #native, #next_sibling, #observe_children, #observe_controllers, #opacity, #opacity=, #overflow, #overflow=, #pango_context, #parent, #parent=, #pick, #prev_sibling, #primary_clipboard, #query_action, #queue_allocate, #queue_draw, #queue_resize, #realize, #realized, #receives_default, #receives_default=, #receives_default?, #remove_controller, #remove_css_class, #remove_mnemonic_label, #remove_tick_callback, #render_icon_pixbuf, #render_icon_pixbuf_raw, #request_mode, #root, #root=, #scale_factor, #scale_factor=, #sensitive, #sensitive=, #sensitive?, #set_allocation, set_connect_func, set_connect_func_raw, #set_events, #set_events_raw, #set_size_request, #set_size_request_raw, #set_state_flags, #set_template, #set_template_raw, #settings, #should_layout, #show, #size_allocate, #snapshot_child, #state_flags, #style_context, #style_context_raw, #style_get_property, #style_get_property_raw, #template=, template_children, #template_from_resource=, #template_scope=, #tooltip_markup, #tooltip_markup=, #tooltip_text, #tooltip_text=, #translate_coordinates, #translate_coordinates_raw, #trigger_tooltip_query, #unmap, #unparent, #unrealize, #unset_state_flags, #valign, #valign=, #vexpand, #vexpand=, #vexpand?, #vexpand_set, #vexpand_set=, #vexpand_set?, #visible, #visible=, #visible?, #width, #width_request, #width_request=
Constructor Details
#initialize ⇒ Gtk::Widget
Creates a GtkSearchEntry.
Instance Method Details
#activates_default=(activates_default) ⇒ Boolean
Whether to activate the default widget when Enter is pressed.
#activates_default? ⇒ Boolean
Whether to activate the default widget when Enter is pressed.
#input_hints ⇒ Gtk::InputHints
The hints about input for the GtkSearchEntry used to alter the
behaviour of input methods.
#input_hints=(input_hints) ⇒ Gtk::InputHints
The hints about input for the GtkSearchEntry used to alter the
behaviour of input methods.
#input_purpose ⇒ Gtk::InputPurpose
The purpose for the GtkSearchEntry input used to alter the
behaviour of input methods.
#input_purpose=(input_purpose) ⇒ Gtk::InputPurpose
The purpose for the GtkSearchEntry input used to alter the
behaviour of input methods.
#key_capture_widget ⇒ Gtk::Widget
Gets the widget that entry is capturing key events from.
#key_capture_widget=(widget) ⇒ nil
Sets widget as the widget that entry will capture key events from.
Key events are consumed by the search entry to start or continue a search.
If the entry is part of a GtkSearchBar, it is preferable
to call [methodGtk.SearchBar.set_key_capture_widget] instead,
which will reveal the entry in addition to triggering the
search entry.
Note that despite the name of this function, the events are only 'captured' in the bubble phase, which means that editable child widgets of widget will receive text input before it gets captured. If that is not desired, you can capture and forward the events yourself with [methodGtk.EventControllerKey.forward].
#placeholder_text ⇒ String
The text that will be displayed in the GtkSearchEntry
when it is empty and unfocused.
#placeholder_text=(placeholder_text) ⇒ String
The text that will be displayed in the GtkSearchEntry
when it is empty and unfocused.
#search_delay ⇒ Integer
The delay in milliseconds from last keypress to the search changed signal.
#search_delay=(search_delay) ⇒ Integer
The delay in milliseconds from last keypress to the search changed signal.