Class SearchEntry
- All Implemented Interfaces:
Accessible, Buildable, ConstraintTarget, Editable, Proxy
A single-line text entry widget 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(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::activateGtk.SearchEntry::next-matchGtk.SearchEntry::previous-matchGtk.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 Gtk.AccessibleRole.search_box role.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFunctional interface declaration of theActivateCallbackcallback.static classSearchEntry.Builder<B extends SearchEntry.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static interfaceFunctional interface declaration of theNextMatchCallbackcallback.static interfaceFunctional interface declaration of thePreviousMatchCallbackcallback.static interfaceFunctional interface declaration of theSearchChangedCallbackcallback.static interfaceFunctional interface declaration of theSearchStartedCallbackcallback.static interfaceFunctional interface declaration of theStopSearchCallbackcallback.Nested classes/interfaces inherited from class 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.Widget$Impl, Widget.WidgetClassNested classes/interfaces inherited from class InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface Accessible
Accessible.Accessible$Impl, Accessible.AccessibleInterfaceNested classes/interfaces inherited from interface Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterfaceNested classes/interfaces inherited from interface Editable
Editable.ChangedCallback, Editable.DeleteTextCallback, Editable.Editable$Impl, Editable.EditableInterface, Editable.InsertTextCallback -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new SearchEntry.SearchEntry(MemorySegment address) Create a SearchEntry instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected SearchEntryasParent()Return this instance as if it were its parent type.static SearchEntry.Builder<? extends SearchEntry.Builder> builder()ASearchEntry.Builderobject constructs aSearchEntrywith the specified properties.voidEmits the "activate" signal.voidEmits the "next-match" signal.voidEmits the "previous-match" signal.voidEmits the "search-changed" signal.voidEmits the "search-started" signal.voidEmits the "stop-search" signal.Gets the input purpose forentry.Gets the input purpose ofentry.@Nullable WidgetGets the widget that this SearchEntry is capturing key events from.static MemoryLayoutThe memory layout of the native struct.@Nullable StringGets the placeholder text associated withentry.intGet the delay to be used between the last keypress and theGtk.SearchEntry::search-changedsignal being emitted.static @Nullable TypegetType()Get the GType of the SearchEntry class.onActivate(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.voidsetInputHints(Set<InputHints> hints) Sets the input hints forentry.voidsetInputHints(InputHints... hints) Sets the input hints forentry.voidsetInputPurpose(InputPurpose purpose) Sets the input purpose ofentry.voidsetKeyCaptureWidget(@Nullable Widget widget) Setswidgetas the widget that this SearchEntry will capture key events from.voidsetPlaceholderText(@Nullable String text) Sets the placeholder text associated withentry.voidsetSearchDelay(int delay) Set the delay to be used between the last keypress and theGtk.SearchEntry::search-changedsignal being emitted.Methods inherited from class 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, getLimitEvents, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, 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, setLimitEvents, 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, unsetStateFlagsMethods inherited from class 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, 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, withPropertiesMethods inherited from class TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class ProxyInstance
equals, handle, hashCodeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Accessible
announce, getAccessibleId, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updatePlatformState, updateProperty, updateRelation, updateStateMethods inherited from interface Buildable
getBuildableIdMethods inherited from interface 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 instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
SearchEntry
public SearchEntry()Create a new SearchEntry.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code. -
getInputHints
Gets the input purpose forentry.- Returns:
- The input hints
- Since:
- 4.14
-
getInputPurpose
Gets the input purpose ofentry.- Returns:
- The input hints
- Since:
- 4.14
-
getKeyCaptureWidget
Gets the widget that this SearchEntry is capturing key events from.- Returns:
- The key capture widget.
-
getPlaceholderText
Gets the placeholder text associated withentry.- Returns:
- The placeholder text.
- Since:
- 4.10
-
getSearchDelay
public int getSearchDelay()Get the delay to be used between the last keypress and theGtk.SearchEntry::search-changedsignal being emitted.- Returns:
- a delay in milliseconds.
- Since:
- 4.8
-
setInputHints
Sets the input hints forentry.- Parameters:
hints- the new input hints- Since:
- 4.14
-
setInputHints
Sets the input hints forentry.- Parameters:
hints- the new input hints- Since:
- 4.14
-
setInputPurpose
Sets the input purpose ofentry.- Parameters:
purpose- the new input purpose- Since:
- 4.14
-
setKeyCaptureWidget
Sets
widgetas 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(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
widgetwill receive text input before it gets captured. If that is not desired, you can capture and forward the events yourself withEventControllerKey.forward(Widget).- Parameters:
widget- aGtkWidget
-
setPlaceholderText
Sets the placeholder text associated withentry.- Parameters:
text- the text to set as a placeholder- Since:
- 4.10
-
setSearchDelay
public void setSearchDelay(int delay) Set the delay to be used between the last keypress and theGtk.SearchEntry::search-changedsignal being emitted.- Parameters:
delay- a delay in milliseconds- Since:
- 4.8
-
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(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(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(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-delayproperty.- 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(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(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(SearchEntry.StopSearchCallback). -
builder
ASearchEntry.Builderobject constructs aSearchEntrywith the specified properties. Use the variousset...()methods to set properties, and finish construction withSearchEntry.Builder.build().- Returns:
- the builder object
-