Package ch.bailu.gtk.gtk
Class SearchBar
- All Implemented Interfaces:
PointerInterface
`GtkSearchBar` is a container made to have a search entry.
![An example GtkSearchBar](search-bar.png)
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
[method@Gtk.SearchBar.set_key_capture_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 [method@Gtk.SearchBar.connect_entry].
## Creating a search bar
The following example shows you how to create a more complex search
entry.
[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/search-bar.c)
# 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_ACCESSIBLE_ROLE_SEARCH role.
![An example GtkSearchBar](search-bar.png)
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
[method@Gtk.SearchBar.set_key_capture_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 [method@Gtk.SearchBar.connect_entry].
## Creating a search bar
The following example shows you how to create a more complex search
entry.
[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/search-bar.c)
# 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_ACCESSIBLE_ROLE_SEARCH role.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.void
connectEntry
(Editable entry) Connects the `GtkEditable widget passed as the one to be used in
this search bar.getChild()
Gets the child widget of @bar.static ClassHandler
static int
Gets the widget that @bar is capturing key events from.static long
static TypeSystem.TypeSize
boolean
Returns whether the search mode is on or off.boolean
Returns whether the close button is shown.static long
static TypeSystem.TypeSize
void
Sets the child widget of @bar.void
setKeyCaptureWidget
(Widget widget) Sets @widget as the widget that @bar will capture key events
from.void
setSearchMode
(boolean search_mode) Switches the search mode on or off.void
setShowCloseButton
(boolean visible) Shows or hides the close button.Methods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, 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, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
SearchBar
-
SearchBar
public SearchBar()Creates a `GtkSearchBar`.
You will need to tell it about which widget is going to be your text
entry using [method@Gtk.SearchBar.connect_entry].
-
-
Method Details
-
getClassHandler
-
connectEntry
Connects the `GtkEditable 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
- a `GtkEditable`
-
getChild
Gets the child widget of @bar.- Returns:
- the child widget of @bar
-
getKeyCaptureWidget
Gets the widget that @bar 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 @bar.- Parameters:
child
- the child widget
-
setKeyCaptureWidget
Sets @widget as the widget that @bar 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 with
[method@Gtk.EventControllerKey.forward].- Parameters:
widget
- a `GtkWidget`
-
setSearchMode
public void setSearchMode(boolean search_mode) Switches the search mode on or off.- Parameters:
search_mode
- 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
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classWidget
- Returns:
Accessible
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classWidget
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classWidget
- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-