Class DropDown
- All Implemented Interfaces:
Accessible,Buildable,ConstraintTarget,Proxy
The GtkDropDown displays the Gtk.DropDown:selected
choice.
The options are given to GtkDropDown in the form of GListModel
and how the individual options are represented is determined by
a ListItemFactory. The default factory displays simple strings,
and adds a checkmark to the selected item in the popup.
To set your own factory, use setFactory(org.gnome.gtk.ListItemFactory). It is
possible to use a separate factory for the items in the popup, with
setListFactory(org.gnome.gtk.ListItemFactory).
GtkDropDown knows how to obtain strings from the items in a
StringList; for other models, you have to provide an expression
to find the strings via setExpression(org.gnome.gtk.Expression).
GtkDropDown can optionally allow search in the popup, which is
useful if the list of options is long. To enable the search entry,
use setEnableSearch(boolean).
Here is a UI definition example for GtkDropDown with a simple model:
<object class="GtkDropDown">
<property name="model">
<object class="GtkStringList">
<items>
<item translatable="yes">Factory</item>
<item translatable="yes">Home</item>
<item translatable="yes">Subway</item>
</items>
</object>
</property>
</object>
If a GtkDropDown is created in this manner, or with
fromStrings(java.lang.String[]), for instance, the object returned from
getSelectedItem() will be a StringObject.
To learn more about the list widget framework, see the overview.
CSS nodes
GtkDropDown has a single CSS node with name dropdown,
with the button and popover nodes as children.
Accessibility
GtkDropDown uses the Gtk.AccessibleRole.combo_box role.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFunctional interface declaration of theActivateCallbackcallback.static classDropDown.Builder<B extends DropDown.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classNested 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
ConstructorsConstructorDescriptionDropDown()Creates a new DropDown.DropDown(MemorySegment address) Create a DropDown proxy instance for the provided memory address.DropDown(@Nullable ListModel model, @Nullable Expression expression) Creates a newGtkDropDown. -
Method Summary
Modifier and TypeMethodDescriptionprotected DropDownasParent()Returns this instance as if it were its parent type.static DropDown.Builder<? extends DropDown.Builder> builder()ADropDown.Builderobject constructs aDropDownwith the specified properties.voidEmits the "activate" signal.static DropDownfromStrings(@Nullable String @Nullable [] strings) Creates a newGtkDropDownthat is populated with the strings.booleanReturns whether search is enabled.@Nullable ExpressionGets the expression set that is used to obtain strings from items.@Nullable ListItemFactoryGets the factory that's currently used to populate list items.@Nullable ListItemFactoryGets the factory that's currently used to create header widgets for the popup.@Nullable ListItemFactoryGets the factory that's currently used to populate list items in the popup.@Nullable ListModelgetModel()Gets the model that provides the displayed items.Returns the match mode that the search filter is using.intGets the position of the selected item.@Nullable GObjectGets the selected item.booleanReturns whether to show an arrow within the widget.static @Nullable TypegetType()Get the GType of the DropDown classonActivate(DropDown.ActivateCallback handler) Emitted to when the drop down is activated.voidsetEnableSearch(boolean enableSearch) Sets whether a search entry will be shown in the popup that allows to search for items in the list.voidsetExpression(@Nullable Expression expression) Sets the expression that gets evaluated to obtain strings from items.voidsetFactory(@Nullable ListItemFactory factory) Sets theGtkListItemFactoryto use for populating list items.voidsetHeaderFactory(@Nullable ListItemFactory factory) Sets theGtkListItemFactoryto use for creating header widgets for the popup.voidsetListFactory(@Nullable ListItemFactory factory) Sets theGtkListItemFactoryto use for populating list items in the popup.voidSets theGListModelto use.voidsetSearchMatchMode(StringFilterMatchMode searchMatchMode) Sets the match mode for the search filter.voidsetSelected(int position) Selects the item at the given position.voidsetShowArrow(boolean showArrow) Sets whether an arrow will be displayed within the widget.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
-
DropDown
Create a DropDown proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
DropDown
Creates a newGtkDropDown.You may want to call
setFactory(org.gnome.gtk.ListItemFactory)to set up a way to map its items to widgets.- Parameters:
model- the model to useexpression- the expression to use
-
DropDown
public DropDown()Creates a new DropDown.
-
-
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. -
fromStrings
-
getEnableSearch
public boolean getEnableSearch()Returns whether search is enabled.- Returns:
trueif the popup includes a search entry
-
getExpression
Gets the expression set that is used to obtain strings from items.- Returns:
- a
GtkExpression
-
getFactory
Gets the factory that's currently used to populate list items.The factory returned by this function is always used for the item in the button. It is also used for items in the popup if
Gtk.DropDown:list-factoryis not set.- Returns:
- The factory in use
-
getHeaderFactory
Gets the factory that's currently used to create header widgets for the popup.- Returns:
- The factory in use
- Since:
- 4.12
-
getListFactory
Gets the factory that's currently used to populate list items in the popup.- Returns:
- The factory in use
-
getModel
Gets the model that provides the displayed items.- Returns:
- The model in use
-
getSearchMatchMode
Returns the match mode that the search filter is using.- Returns:
- the match mode of the search filter
- Since:
- 4.12
-
getSelected
public int getSelected()Gets the position of the selected item.- Returns:
- the position of the selected item, or
GTK_INVALID_LIST_POSITIONif no item is selected
-
getSelectedItem
Gets the selected item. If no item is selected,nullis returned.- Returns:
- The selected item
-
getShowArrow
public boolean getShowArrow()Returns whether to show an arrow within the widget.- Returns:
trueif an arrow will be shown.- Since:
- 4.6
-
setEnableSearch
public void setEnableSearch(boolean enableSearch) Sets whether a search entry will be shown in the popup that allows to search for items in the list.Note that
Gtk.DropDown:expressionmust be set for search to work.- Parameters:
enableSearch- whether to enable search
-
setExpression
Sets the expression that gets evaluated to obtain strings from items.This is used for search in the popup. The expression must have a value type of
G_TYPE_STRING.- Parameters:
expression- aGtkExpression
-
setFactory
Sets theGtkListItemFactoryto use for populating list items.- Parameters:
factory- the factory to use
-
setHeaderFactory
Sets theGtkListItemFactoryto use for creating header widgets for the popup.- Parameters:
factory- the factory to use- Since:
- 4.12
-
setListFactory
Sets theGtkListItemFactoryto use for populating list items in the popup.- Parameters:
factory- the factory to use
-
setModel
Sets theGListModelto use.- Parameters:
model- the model to use
-
setSearchMatchMode
Sets the match mode for the search filter.- Parameters:
searchMatchMode- the new match mode- Since:
- 4.12
-
setSelected
public void setSelected(int position) Selects the item at the given position.- Parameters:
position- the position of the item to select, orGTK_INVALID_LIST_POSITION
-
setShowArrow
public void setShowArrow(boolean showArrow) Sets whether an arrow will be displayed within the widget.- Parameters:
showArrow- whether to show an arrow within the widget- Since:
- 4.6
-
onActivate
Emitted to when the drop down is activated.The
::activatesignal onGtkDropDownis an action signal and emitting it causes the drop down to pop up its dropdown.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- Since:
- 4.6
- See Also:
-
emitActivate
public void emitActivate()Emits the "activate" signal. SeeonActivate(org.gnome.gtk.DropDown.ActivateCallback). -
builder
ADropDown.Builderobject constructs aDropDownwith the specified properties. Use the variousset...()methods to set properties, and finish construction withDropDown.Builder.build().- Returns:
- the builder object
-