Class SearchBar
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
GtkSearchBar
is a container made to have a search entry.
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:
Escape
hides 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 AccessibleRole.SEARCH
role.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
SearchBar.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.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
-
Constructor Summary
ConstructorDescriptionCreates aGtkSearchBar
.SearchBar
(MemorySegment address) Create a SearchBar proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected SearchBar
asParent()
Returns this instance as if it were its parent type.static SearchBar.Builder
<? extends SearchBar.Builder> builder()
ASearchBar.Builder
object constructs aSearchBar
with the specified properties.void
connectEntry
(Editable entry) Connects theGtkEditable
widget passed as the one to be used in this search bar.getChild()
Gets the child widget of this SearchBar.Gets the widget that this SearchBar is capturing key events from.boolean
Returns whether the search mode is on or off.boolean
Returns whether the close button is shown.static Type
getType()
Get the GType of the SearchBar classvoid
Sets the child widget of this SearchBar.void
setKeyCaptureWidget
(@Nullable Widget widget) Setswidget
as the widget that this SearchBar will capture key events from.void
setSearchMode
(boolean searchMode) Switches the search mode on or off.void
setShowCloseButton
(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, 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
-
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 aGtkSearchBar
.You will need to tell it about which widget is going to be your text entry using
connectEntry(org.gnome.gtk.Editable)
.
-
-
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. -
connectEntry
Connects theGtkEditable
widget 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 of this SearchBar.- 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 of this SearchBar.- Parameters:
child
- the child widget
-
setKeyCaptureWidget
Setswidget
as 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
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
-
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.Builder
object constructs aSearchBar
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withSearchBar.Builder.build()
.
-