Class SearchBar
- All Implemented Interfaces:
Accessible,Buildable,ConstraintTarget,Proxy
It can also contain additional widgets, such as drop-down menus, or buttons. The search bar would appear when a search is started through typing on the keyboard, or the application’s search mode is toggled on.
For keyboard presses to start a search, the search bar must be told
of a widget to capture key events from through
setKeyCaptureWidget(org.gnome.gtk.Widget). This widget will
typically be the top-level window, or a parent container of the
search bar. Common shortcuts such as Ctrl+F should be handled as an
application action, or through the menu items.
You will also need to tell the search bar about which entry you
are using as your search entry using connectEntry(org.gnome.gtk.Editable).
Creating a search bar
The following example shows you how to create a more complex search
entry.
Shortcuts and Gestures
GtkSearchBar supports the following keyboard shortcuts:
Escapehides the search bar.
CSS nodes
searchbar
╰── revealer
╰── box
├── [child]
╰── [button.close]
GtkSearchBar has a main CSS node with name searchbar. It has a child
node with name revealer that contains a node with name box. The box node
contains both the CSS node of the child widget as well as an optional button
node which gets the .close style class applied.
Accessibility
GtkSearchBar uses the Gtk.AccessibleRole.search role.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSearchBar.Builder<B extends SearchBar.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.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.Widget$Impl, Widget.WidgetClassNested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.Accessible$Impl, Accessible.AccessibleInterfaceNested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new SearchBar.SearchBar(MemorySegment address) Create a SearchBar proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected SearchBarasParent()Returns this instance as if it were its parent type.static SearchBar.Builder<? extends SearchBar.Builder> builder()ASearchBar.Builderobject constructs aSearchBarwith the specified properties.voidconnectEntry(Editable entry) Connects theGtkEditablewidget passed as the one to be used in this search bar.@Nullable WidgetgetChild()Gets the child widget ofbar.@Nullable WidgetGets the widget that this SearchBar is capturing key events from.booleanReturns whether the search mode is on or off.booleanReturns whether the close button is shown.static @Nullable TypegetType()Get the GType of the SearchBar classvoidSets the child widget ofbar.voidsetKeyCaptureWidget(@Nullable Widget widget) Setswidgetas the widget that this SearchBar will capture key events from.voidsetSearchMode(boolean searchMode) Switches the search mode on or off.voidsetShowCloseButton(boolean visible) Shows or hides the close button.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, getLimitEvents, 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, 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 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, 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 org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.javagi.base.ProxyInstance
equals, handle, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updatePlatformState, updateProperty, updateRelation, updateStateMethods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
SearchBar
Create a SearchBar proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
SearchBar
public SearchBar()Creates a new SearchBar.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuperkeyword, 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. -
connectEntry
Connects theGtkEditablewidget passed as the one to be used in this search bar.The entry should be a descendant of the search bar. Calling this function manually is only required if the entry isn’t the direct child of the search bar (as in our main example).
- Parameters:
entry- aGtkEditable
-
getChild
Gets the child widget ofbar.- Returns:
- the child widget of this SearchBar
-
getKeyCaptureWidget
Gets the widget that this SearchBar is capturing key events from.- Returns:
- The key capture widget.
-
getSearchMode
public boolean getSearchMode()Returns whether the search mode is on or off.- Returns:
- whether search mode is toggled on
-
getShowCloseButton
public boolean getShowCloseButton()Returns whether the close button is shown.- Returns:
- whether the close button is shown
-
setChild
Sets the child widget ofbar.- Parameters:
child- the child widget
-
setKeyCaptureWidget
Setswidgetas the widget that this SearchBar will capture key events from.If key events are handled by the search bar, the bar will be shown, and the entry populated with the entered text.
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(org.gnome.gtk.Widget).- Parameters:
widget- aGtkWidget
-
setSearchMode
public void setSearchMode(boolean searchMode) Switches the search mode on or off.- Parameters:
searchMode- the new state of the search mode
-
setShowCloseButton
public void setShowCloseButton(boolean visible) Shows or hides the close button.Applications that already have a “search” toggle button should not show a close button in their search bar, as it duplicates the role of the toggle button.
- Parameters:
visible- whether the close button will be shown or not
-
builder
ASearchBar.Builderobject constructs aSearchBarwith the specified properties. Use the variousset...()methods to set properties, and finish construction withSearchBar.Builder.build().- Returns:
- the builder object
-