Class SearchEntry
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
,Editable
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 Gtk.SearchEntry::search-changed
signal which
can be used instead of the Gtk.Editable::changed
signal.
The Gtk.SearchEntry::previous-match
,
Gtk.SearchEntry::next-match
and
Gtk.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 SearchBar
. If that is not the case,
you can use setKeyCaptureWidget(org.gnome.gtk.Widget)
to
let it capture key input from another widget.
GtkSearchEntry
provides only minimal API and should be used with
the Editable
API.
Shortcuts and Gestures
The following signals have default keybindings:
Gtk.SearchEntry::activate
Gtk.SearchEntry::next-match
Gtk.SearchEntry::previous-match
Gtk.SearchEntry::stop-search
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 AccessibleRole.SEARCH_BOX
role.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Functional interface declaration of theActivateCallback
callback.static class
SearchEntry.Builder<B extends SearchEntry.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static interface
Functional interface declaration of theNextMatchCallback
callback.static interface
Functional interface declaration of thePreviousMatchCallback
callback.static interface
Functional interface declaration of theSearchChangedCallback
callback.static interface
Functional interface declaration of theSearchStartedCallback
callback.static interface
Functional interface declaration of theStopSearchCallback
callback.Nested classes/interfaces inherited from class org.gnome.gtk.Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Editable
Editable.ChangedCallback, Editable.DeleteTextCallback, Editable.EditableImpl, Editable.EditableInterface, Editable.InsertTextCallback
-
Constructor Summary
ConstructorDescriptionCreates aGtkSearchEntry
.SearchEntry
(MemorySegment address) Create a SearchEntry proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected SearchEntry
asParent()
Returns this instance as if it were its parent type.static SearchEntry.Builder
<? extends SearchEntry.Builder> builder()
ASearchEntry.Builder
object constructs aSearchEntry
with the specified properties.void
Emits the "activate" signal.void
Emits the "next-match" signal.void
Emits the "previous-match" signal.void
Emits the "search-changed" signal.void
Emits the "search-started" signal.void
Emits the "stop-search" signal.Gets the input purpose for this SearchEntry.Gets the input purpose of this SearchEntry.Gets the widget that this SearchEntry is capturing key events from.Gets the placeholder text associated with this SearchEntry.int
Get the delay to be used between the last keypress and theGtk.SearchEntry::search-changed
signal being emitted.static Type
getType()
Get the GType of the SearchEntry classonActivate
(SearchEntry.ActivateCallback handler) Emitted when the entry is activated.onNextMatch
(SearchEntry.NextMatchCallback handler) Emitted when the user initiates a move to the next match for the current search string.Emitted when the user initiates a move to the previous match for the current search string.Emitted with a delay.Emitted when the user initiated a search on the entry.Emitted when the user stops a search via keyboard input.void
setInputHints
(Set<InputHints> hints) Sets the input hints for this SearchEntry.void
setInputHints
(InputHints... hints) Sets the input hints for this SearchEntry.void
setInputPurpose
(InputPurpose purpose) Sets the input purpose of this SearchEntry.void
setKeyCaptureWidget
(@Nullable Widget widget) Setswidget
as the widget that this SearchEntry will capture key events from.void
setPlaceholderText
(@Nullable String text) Sets the placeholder text associated with this SearchEntry.void
setSearchDelay
(int delay) Set the delay to be used between the last keypress and theGtk.SearchEntry::search-changed
signal being emitted.Methods inherited from class org.gnome.gtk.Widget
actionSetEnabled, activateActionIfExists, activateDefault, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMemoryLayout, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlags
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Buildable
getBuildableId
Methods inherited from interface org.gnome.gtk.Editable
delegateGetAccessiblePlatformState, deleteSelection, deleteText, emitChanged, emitDeleteText, emitInsertText, finishDelegate, getAlignment, getChars, getDelegate, getEditable, getEnableUndo, getMaxWidthChars, getPosition, getSelectionBounds, getText, getWidthChars, initDelegate, insertText, onChanged, onDeleteText, onInsertText, selectRegion, setAlignment, setEditable, setEnableUndo, setMaxWidthChars, setPosition, setText, setWidthChars
-
Constructor Details
-
SearchEntry
Create a SearchEntry proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
SearchEntry
public SearchEntry()Creates aGtkSearchEntry
.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type. -
getInputHints
Gets the input purpose for this SearchEntry.- Returns:
- The input hints
-
getInputPurpose
Gets the input purpose of this SearchEntry.- Returns:
- The input hints
-
getKeyCaptureWidget
Gets the widget that this SearchEntry is capturing key events from.- Returns:
- The key capture widget.
-
getPlaceholderText
Gets the placeholder text associated with this SearchEntry.- Returns:
- The placeholder text.
-
getSearchDelay
public int getSearchDelay()Get the delay to be used between the last keypress and theGtk.SearchEntry::search-changed
signal being emitted.- Returns:
- a delay in milliseconds.
-
setInputHints
Sets the input hints for this SearchEntry.- Parameters:
hints
- the new input hints
-
setInputHints
Sets the input hints for this SearchEntry.- Parameters:
hints
- the new input hints
-
setInputPurpose
Sets the input purpose of this SearchEntry.- Parameters:
purpose
- the new input purpose
-
setKeyCaptureWidget
Setswidget
as the widget that this SearchEntry 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 callSearchBar.setKeyCaptureWidget(org.gnome.gtk.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 withEventControllerKey.forward(org.gnome.gtk.Widget)
.- Parameters:
widget
- aGtkWidget
-
setPlaceholderText
Sets the placeholder text associated with this SearchEntry.- Parameters:
text
- the text to set as a placeholder
-
setSearchDelay
public void setSearchDelay(int delay) Set the delay to be used between the last keypress and theGtk.SearchEntry::search-changed
signal being emitted.- Parameters:
delay
- a delay in milliseconds
-
onActivate
public SignalConnection<SearchEntry.ActivateCallback> onActivate(SearchEntry.ActivateCallback handler) Emitted when the entry is activated.The keybindings for this signal are all forms of the
Enter
key.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitActivate
public void emitActivate()Emits the "activate" signal. SeeonActivate(org.gnome.gtk.SearchEntry.ActivateCallback)
. -
onNextMatch
public SignalConnection<SearchEntry.NextMatchCallback> onNextMatch(SearchEntry.NextMatchCallback handler) Emitted when the user initiates a move to the next match for the current search string.This is a keybinding signal.
Applications should connect to it, to implement moving between matches.
The default bindings for this signal is
Ctrl
+g
.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitNextMatch
public void emitNextMatch()Emits the "next-match" signal. SeeonNextMatch(org.gnome.gtk.SearchEntry.NextMatchCallback)
. -
onPreviousMatch
public SignalConnection<SearchEntry.PreviousMatchCallback> onPreviousMatch(SearchEntry.PreviousMatchCallback handler) Emitted when the user initiates a move to the previous match for the current search string.This is a keybinding signal.
Applications should connect to it, to implement moving between matches.
The default bindings for this signal is
Ctrl
+Shift
+g
.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitPreviousMatch
public void emitPreviousMatch()Emits the "previous-match" signal. SeeonPreviousMatch(org.gnome.gtk.SearchEntry.PreviousMatchCallback)
. -
onSearchChanged
public SignalConnection<SearchEntry.SearchChangedCallback> onSearchChanged(SearchEntry.SearchChangedCallback handler) Emitted with a delay. The length of the delay can be changed with theGtk.SearchEntry:search-delay
property.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitSearchChanged
public void emitSearchChanged()Emits the "search-changed" signal. SeeonSearchChanged(org.gnome.gtk.SearchEntry.SearchChangedCallback)
. -
onSearchStarted
public SignalConnection<SearchEntry.SearchStartedCallback> onSearchStarted(SearchEntry.SearchStartedCallback handler) Emitted when the user initiated a search on the entry.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitSearchStarted
public void emitSearchStarted()Emits the "search-started" signal. SeeonSearchStarted(org.gnome.gtk.SearchEntry.SearchStartedCallback)
. -
onStopSearch
public SignalConnection<SearchEntry.StopSearchCallback> onStopSearch(SearchEntry.StopSearchCallback handler) Emitted when the user stops a search via keyboard input.This is a keybinding signal.
Applications should connect to it, to implement hiding the search entry in this case.
The default bindings for this signal is
Escape
.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitStopSearch
public void emitStopSearch()Emits the "stop-search" signal. SeeonStopSearch(org.gnome.gtk.SearchEntry.StopSearchCallback)
. -
builder
ASearchEntry.Builder
object constructs aSearchEntry
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withSearchEntry.Builder.build()
.
-