Package snap.view
Class ComboBox<T>
java.lang.Object
snap.props.PropObject
snap.view.View
snap.view.ParentView
snap.view.ComboBox<T>
- All Implemented Interfaces:
PropChange.DoChange
,Selectable<T>
,XMLArchiver.Archivable
A View that combines a TextField, Button and List to allow selection of list items in the space of a TextField
and/or button. The default form just shows a button that triggers a popup list. The ShowTextField option adds a
TextField for editing. This form can also be attached to any ListView to conveniently find items in a long list.
-
Field Summary
Fields inherited from class snap.view.ParentView
_children, Child_Prop, NeedsLayout_Prop
Fields inherited from class snap.view.View
_align, _borderRadius, _effect, _font, _margin, _padding, _repaintRect, _showing, _spacing, _vertical, Action, Align_Prop, Border_Prop, BorderRadius_Prop, Clip_Prop, Cursor_Prop, DEFAULT_ALIGN, DEFAULT_MARGIN, DEFAULT_PADDING, DEFAULT_SPACING, Disabled_Prop, DragEvents, Effect_Prop, Fill_Prop, Focusable_Prop, Focused_Prop, FocusWhenPressed_Prop, Font_Prop, GrowHeight_Prop, GrowWidth_Prop, Height_Prop, KeyEvents, KeyPress, KeyRelease, KeyType, LeanX_Prop, LeanY_Prop, Managed_Prop, Margin_Prop, MaxHeight_Prop, MaxWidth_Prop, MinHeight_Prop, MinWidth_Prop, MouseDrag, MouseEnter, MouseEvents, MouseExit, MouseMove, MousePress, MouseRelease, Name_Prop, Opacity_Prop, Padding_Prop, Paintable_Prop, Parent_Prop, Pickable_Prop, PrefHeight_Prop, PrefWidth_Prop, Rotate_Prop, ScaleX_Prop, ScaleY_Prop, Scroll, Showing_Prop, Spacing_Prop, Text_Prop, ToolTip_Prop, TransX_Prop, TransY_Prop, Vertical_Prop, Visible_Prop, Width_Prop, X_Prop, Y_Prop
Fields inherited from class snap.props.PropObject
_pcs, EMPTY_OBJECT
Fields inherited from interface snap.util.Selectable
Items_Prop, SelIndex_Prop, SelItem_Prop
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Called when Button/TextField changes.Creates a ListView for this ComboBox (PopupList by default).void
fromXMLView
(XMLArchiver anArchiver, XMLElement anElement) XML unarchival.static Image
Returns an Icon of a down arrow.Returns the button.Returns method to configure list cells.getItem
(int anIndex) Returns the individual item at given index.int
Returns the number of items.getItemsForPrefix
(String aStr) Called to return items for prefix.Returns the items.Returns function for deteriming text for an item.Returns the ListView.Returns ComboBox PopupList.protected double
getPrefHeightImpl
(double aW) Returns the preferred height.Returns the function to return filtered items from a prefixprotected double
getPrefWidthImpl
(double aH) Returns the preferred width.int
Returns the selected index.Returns the selected item.getText()
Return combo box text.Returns text for item.Returns the TextField.Returns Value property name.boolean
Returns Whether text entered in TextField should filter ListView items.boolean
isPopup()
Returns whether ComboBox shows a PopupList.boolean
Returns whether ComboBox popup is showing on screen.boolean
Returns whether to show button.boolean
Returns whether to show TextField.protected void
Layout children.protected void
Called when ListView fires action.protected void
Called when referenced PopupList selection changes.void
Override to focus text or button.void
Override to send to text/button.void
setCellConfigure
(Consumer<ListCell<T>> aCC) Sets method to configure list cells.void
setDisabled
(boolean aValue) Override to send to button.void
setFilterList
(boolean aValue) Returns Whether text entered in TextField should filter ListView items.void
Sets the items.void
setItemsList
(List<T> theItems) Sets the items.void
setItemTextFunction
(Function<T, String> aFunc) Sets function for deteriming text for an item.void
setListView
(ListView<T> aListView) Sets the ListView.void
setPrefixFunction
(Function<String, List<T>> aFunc) Sets the function to return filtered items from a prefixvoid
setSelIndex
(int anIndex) Sets the selected index.void
setSelItem
(T anItem) Sets the selected index.void
setShowButton
(boolean aValue) Sets whether to show button.void
setShowTextField
(boolean aValue) Sets whether to show TextField.void
Set combo box text.void
Makes combobox popup visible.protected void
Called when TextField fires action.protected void
Called when TextField focus changed.protected void
textFieldKeyPressed
(ViewEvent anEvent) Called before TextField has KeyPress.protected void
textFieldKeyTyped
(ViewEvent anEvent) Called after TextField has KeyType.toXMLView
(XMLArchiver anArchiver) XML archival.Methods inherited from class snap.view.ParentView
addChild, addChild, addDeepChangeListener, childDidDeepChange, childDidPropChange, fromXML, fromXMLChildren, getChild, getChildAt, getChildAt, getChildCount, getChildCountManaged, getChildForClass, getChildForName, getChildLast, getChildren, getChildrenForClass, getChildrenInPaintOrder, getChildrenManaged, getFocusNext, getFocusPrev, getPropValue, getViewList, getViewProxy, indexOfChild, initProps, intersectsShape, isInLayout, isNeedsLayout, isNeedsLayoutDeep, isNeedsRepaintDeep, layout, layoutDeep, layoutDeepImpl, layoutFloatingViews, paintAbove, paintAll, paintChildren, parentFontChanged, processPropChange, relayout, removeChild, removeChild, removeChildren, removeDeepChangeListener, setChildren, setFont, setNeedsLayout, setNeedsLayoutDeep, setNeedsRepaintDeep, setOwner, setOwnerChildren, setPropValue, setShowing, themeChanged, toXML, toXMLChildren
Methods inherited from class snap.view.View
addBinding, addEventFilter, addEventHandler, clone, contains, contains, containsShape, createActionEvent, disableEvents, enableEvents, fireActionEvent, getAlign, getAlignX, getAlignY, getAnim, getAnimCleared, getAnimTimeDeep, getBestHeight, getBestSize, getBestWidth, getBinding, getBinding, getBindingCount, getBindings, getBorder, getBorderRadius, getBounds, getBoundsLocal, getBoundsParent, getBoundsShape, getBoundsShapeParent, getClip, getClipAll, getClipAllBounds, getClipBounds, getClippedRect, getCursor, getDefaultBorder, getDefaultFill, getDefaultFont, getEffect, getEnv, getEventAdapter, getFill, getFillColor, getFocusNext, getFocusPrev, getFont, getHeight, getHost, getInsetsAll, getLean, getLeanX, getLeanY, getLocalToParent, getLocalToParent, getMargin, getMaxHeight, getMaxSize, getMaxWidth, getMaxX, getMaxY, getMidX, getMidY, getMinHeight, getMinHeightImpl, getMinSize, getMinWidth, getMinWidthImpl, getName, getOpacity, getOpacityAll, getOwner, getOwner, getPadding, getParent, getParent, getParentCount, getParentToLocal, getParentToLocal, getPhysics, getPhysics, getPrefHeight, getPrefHeight, getPrefSize, getPrefWidth, getPrefWidth, getProp, getPropDefault, getProps, getRealClassName, getRepaintRect, getRepaintRectExpanded, getRootView, getRotate, getScale, getScaleX, getScaleY, getSize, getSpacing, getToolTip, getToolTip, getTransX, getTransY, getUpdater, getVisRect, getWidth, getWindow, getX, getXY, getY, indexInHost, indexInParent, isActionable, isAncestor, isClipToBounds, isDisabled, isEnabled, isFocusable, isFocused, isFocusKeysEnabled, isFocusPainted, isFocusWhenPressed, isFontSet, isGrowHeight, isGrowWidth, isGuest, isHorizontal, isLocalToParentSimple, isManaged, isManagedVisible, isMaxHeightSet, isMaxWidthSet, isMinHeightSet, isMinWidthSet, isMouseDown, isMouseOver, isNeedsRepaint, isPaintable, isPickable, isPickableVisible, isPrefHeightSet, isPrefWidthSet, isShowing, isToolTipEnabled, isVertical, isVisible, localToParent, localToParent, localToParent, localToParent, localToScreen, paintBack, paintFront, parentToLocal, parentToLocal, parentToLocal, parentToLocal, playAnimDeep, processEvent, processEventAll, processEventFilters, processEventHandlers, relayoutParent, removeBinding, removeBinding, removeEventFilter, removeEventHandler, repaint, repaint, repaint, repaintInParent, runDelayed, runIntervals, runLater, scrollToVisible, setActionable, setAlignX, setAlignY, setAnimProps, setAnimString, setAnimTimeDeep, setBorder, setBorder, setBorderRadius, setBounds, setBounds, setBoundsLocal, setClip, setClipToBounds, setCursor, setEffect, setEnabled, setFill, setFocusable, setFocused, setFocusKeysEnabled, setFocusPainted, setFocusWhenPressed, setGrowHeight, setGrowWidth, setHeight, setLean, setLeanX, setLeanY, setManaged, setMargin, setMargin, setMaxHeight, setMaxSize, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinSize, setMinWidth, setName, setOpacity, setPadding, setPadding, setPaintable, setParent, setPickable, setPrefHeight, setPrefSize, setPrefSize, setPrefWidth, setProp, setRealClassName, setRotate, setScale, setScaleX, setScaleY, setSize, setSize, setSizeLocal, setSizeToBestSize, setSizeToPrefSize, setSpacing, setToolTip, setToolTipEnabled, setTransX, setTransY, setVertical, setVisible, setWidth, setX, setXY, setXYLocal, setY, stopAnimDeep, stopIntervals, toStringProps
Methods inherited from class snap.props.PropObject
addPropChangeListener, addPropChangeListener, firePropChange, firePropChange, firePropChange, getPropForName, getPropParent, getPropSet, getPropsForArchival, getPropsForArchivalExtra, getPropsString, isPropDefault, removePropChangeListener, removePropChangeListener, setPropsString, setPropValues, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface snap.util.Selectable
removeItem, removeItemAndUpdateSel
-
Constructor Details
-
ComboBox
public ComboBox()Constructor.
-
-
Method Details
-
getItemTextFunction
Returns function for deteriming text for an item. -
setItemTextFunction
Sets function for deteriming text for an item. -
getCellConfigure
Returns method to configure list cells. -
setCellConfigure
Sets method to configure list cells. -
getTextField
Returns the TextField. -
getButton
Returns the button. -
getListView
Returns the ListView. -
setListView
Sets the ListView. -
createListView
Creates a ListView for this ComboBox (PopupList by default). -
isShowTextField
public boolean isShowTextField()Returns whether to show TextField. -
setShowTextField
public void setShowTextField(boolean aValue) Sets whether to show TextField. -
isShowButton
public boolean isShowButton()Returns whether to show button. -
setShowButton
public void setShowButton(boolean aValue) Sets whether to show button. -
isFilterList
public boolean isFilterList()Returns Whether text entered in TextField should filter ListView items. -
setFilterList
public void setFilterList(boolean aValue) Returns Whether text entered in TextField should filter ListView items. -
getPrefixFunction
Returns the function to return filtered items from a prefix -
setPrefixFunction
Sets the function to return filtered items from a prefix -
comboChanged
protected void comboChanged()Called when Button/TextField changes. -
isPopup
public boolean isPopup()Returns whether ComboBox shows a PopupList. -
isPopupShowing
public boolean isPopupShowing()Returns whether ComboBox popup is showing on screen. -
getPopupList
Returns ComboBox PopupList. -
showPopup
public void showPopup()Makes combobox popup visible. -
getItemCount
public int getItemCount()Returns the number of items. -
getItem
Returns the individual item at given index. -
getItemsList
Returns the items.- Specified by:
getItemsList
in interfaceSelectable<T>
-
setItemsList
Sets the items.- Specified by:
setItemsList
in interfaceSelectable<T>
-
setItems
Sets the items.- Specified by:
setItems
in interfaceSelectable<T>
-
getSelIndex
public int getSelIndex()Returns the selected index.- Specified by:
getSelIndex
in interfaceSelectable<T>
-
setSelIndex
public void setSelIndex(int anIndex) Sets the selected index.- Specified by:
setSelIndex
in interfaceSelectable<T>
-
getSelItem
Returns the selected item.- Specified by:
getSelItem
in interfaceSelectable<T>
-
setSelItem
Sets the selected index.- Specified by:
setSelItem
in interfaceSelectable<T>
-
getText
Return combo box text. -
setText
Set combo box text. -
getText
Returns text for item. -
textFieldFocusChanged
protected void textFieldFocusChanged()Called when TextField focus changed. -
textFieldKeyPressed
Called before TextField has KeyPress. -
textFieldKeyTyped
Called after TextField has KeyType. -
getItemsForPrefix
Called to return items for prefix. -
textFieldFiredAction
protected void textFieldFiredAction()Called when TextField fires action. -
listViewFiredAction
protected void listViewFiredAction()Called when ListView fires action. -
listViewSelectionChanged
protected void listViewSelectionChanged()Called when referenced PopupList selection changes. -
setAlign
Override to send to text/button. -
setDisabled
public void setDisabled(boolean aValue) Override to send to button.- Overrides:
setDisabled
in classView
-
getValuePropName
Returns Value property name.- Overrides:
getValuePropName
in classView
-
getPrefWidthImpl
protected double getPrefWidthImpl(double aH) Returns the preferred width.- Overrides:
getPrefWidthImpl
in classView
-
getPrefHeightImpl
protected double getPrefHeightImpl(double aW) Returns the preferred height.- Overrides:
getPrefHeightImpl
in classView
-
layoutImpl
protected void layoutImpl()Layout children.- Overrides:
layoutImpl
in classParentView
-
requestFocus
public void requestFocus()Override to focus text or button.- Overrides:
requestFocus
in classView
-
toXMLView
XML archival.- Overrides:
toXMLView
in classParentView
-
fromXMLView
XML unarchival.- Overrides:
fromXMLView
in classParentView
-
getArrowImage
Returns an Icon of a down arrow.
-