Package org.opencms.gwt.client.ui.input
Class CmsSelectBox
java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.google.gwt.user.client.ui.Composite
org.opencms.gwt.client.ui.input.A_CmsSelectBox<CmsLabelSelectCell>
org.opencms.gwt.client.ui.input.CmsSelectBox
- All Implemented Interfaces:
com.google.gwt.event.dom.client.HasFocusHandlers
,com.google.gwt.event.logical.shared.HasAttachHandlers
,com.google.gwt.event.logical.shared.HasValueChangeHandlers<String>
,com.google.gwt.event.shared.HasHandlers
,com.google.gwt.user.client.EventListener
,com.google.gwt.user.client.ui.HasVisibility
,com.google.gwt.user.client.ui.IsRenderable
,com.google.gwt.user.client.ui.IsWidget
,I_CmsHasInit
,I_CmsTruncable
,I_CmsFormWidget
,I_CmsHasGhostValue
- Direct Known Subclasses:
CmsPropertySelectBox
public class CmsSelectBox
extends A_CmsSelectBox<CmsLabelSelectCell>
implements I_CmsHasInit, I_CmsHasGhostValue
Widget for selecting one of multiple items from a drop-down list which opens
after the user clicks on the widget.
- Since:
- 8.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.opencms.gwt.client.ui.input.A_CmsSelectBox
A_CmsSelectBox.I_CmsSelectBoxUiBinder
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
Nested classes/interfaces inherited from interface org.opencms.gwt.client.ui.input.I_CmsFormWidget
I_CmsFormWidget.FieldType
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
The ghost value.protected CmsLabel
The widget displayed in the opener.static final String
The key for the text which should be displayed in the opener if no option is available.static final String
The key for the text which should be displayed if no option is available.static final String
Suffix for select/selectcombo widget names to prevent creation of 'no selection' value.static final String
Widget parameter to control the resize behavior, defaults to 'true'.static final String
The widget type identifier.static final String
Widget type identifier (no null value).Fields inherited from class org.opencms.gwt.client.ui.input.A_CmsSelectBox
CSS, m_error, m_eventBus, m_mousewheelRegistration, m_openClose, m_opener, m_panel, m_popup, m_selectBoxState, m_selectCells, m_selectedValue, m_selector, m_selectorState
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
-
Constructor Summary
ConstructorDescriptionDefault constructor.CmsSelectBox
(Map<String, String> items) Constructs a new select box from a map.CmsSelectBox
(Map<String, String> items, boolean addNullOption) Creates a new select box, with the option of adding a "not selected" choice. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a new selection cell.protected CmsLabelSelectCell
createUnknownOption
(String value) Internal method to create a select option for an unknown value.Returns the "apparent value", i.e.getItems()
Returns the items as a map for option values to label text.com.google.gwt.user.client.ui.FocusPanel
Returns the opener of this widget.protected String
Helper method to get the title for a given select option.static void
Initializes this class.protected void
The implementation of this method should initialize the opener of the select box.protected void
onLoad()
void
selectValue
(String value) Helper method to set the current selected option.void
setAutoHideParent
(I_CmsAutoHider autoHideParent) Call this when auto hiding parents are shown.void
setGhostMode
(boolean ghostMode) Enables or disables ghost mode, if possible.void
setGhostValue
(String value, boolean ghostMode) Sets the "ghost value" of the widget and optionally sets it to "ghost mode".void
Sets the items using a map from option values to label texts.void
Sets the text that is used for the "not selected" option.void
Sets the title for a select option.void
truncateOpener
(String prefix, int width) Abstract method whose implementation should truncate the opener widget(s).void
updateCell
(CmsLabelSelectCell cell) Updates a single select cell.void
Updates the select cells.protected void
updateOpener
(String newValue) The implementation of this method should update the opener when a new value is selected by the user.protected void
This method should be used to make changes to the CSS style of the select box when the value changes.Methods inherited from class org.opencms.gwt.client.ui.input.A_CmsSelectBox
addFocusHandler, addOption, addValueChangeHandler, addWidget, clearItems, close, displayingAbove, doClickOpener, getFieldType, getFormValue, getFormValueAsString, getPopupHeight, getSelectorPopup, initPreferredPopupWidth, isEnabled, onBrowserEvent, onDetach, onFocus, onUnload, onValueSelect, onValueSelect, open, removeWindowResizeHandler, reset, setEnabled, setErrorMessage, setFormValue, setFormValue, setFormValueAsString, setPopupResize, truncate
Methods inherited from class com.google.gwt.user.client.ui.Composite
claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, render, render, resolvePotentialElement, setWidget
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
-
Field Details
-
NO_SELECTION_OPENER_TEXT
The key for the text which should be displayed in the opener if no option is available.- See Also:
-
NO_SELECTION_TEXT
The key for the text which should be displayed if no option is available.- See Also:
-
WIDGET_TYPE
The widget type identifier.- See Also:
-
NOTNULL_SUFFIX
Suffix for select/selectcombo widget names to prevent creation of 'no selection' value.- See Also:
-
WIDGET_TYPE_NOTNULL
Widget type identifier (no null value).- See Also:
-
OPTION_RESIZABLE
Widget parameter to control the resize behavior, defaults to 'true'.- See Also:
-
m_ghostValue
The ghost value. -
m_openerWidget
The widget displayed in the opener.
-
-
Constructor Details
-
CmsSelectBox
public CmsSelectBox()Default constructor. -
CmsSelectBox
Constructs a new select box from a map.The keys of the map are the values of the select options, and the values of the map are the labels to be displayed for each option.
- Parameters:
items
- the map of select options
-
CmsSelectBox
Creates a new select box, with the option of adding a "not selected" choice.- Parameters:
items
- the map of select optionsaddNullOption
- if true, a "not selected" option will be added to the select box
-
-
Method Details
-
initClass
Initializes this class. -
addOption
Adds a new selection cell.- Parameters:
value
- the value of the select optiontext
- the text to be displayed for the select option
-
getApparentValue
Description copied from interface:I_CmsFormWidget
Returns the "apparent value", i.e. either the real value if available, or else the ghost value if available, or null otherwise.- Specified by:
getApparentValue
in interfaceI_CmsFormWidget
- Returns:
- the apparent value
- See Also:
-
getItems
Returns the items as a map for option values to label text.- Returns:
- the items as a map for option values to label text
-
getOpener
Returns the opener of this widget.- Returns:
- the opener of this widget
-
selectValue
Description copied from class:A_CmsSelectBox
Helper method to set the current selected option.This method does not trigger the "value changed" event.
- Overrides:
selectValue
in classA_CmsSelectBox<CmsLabelSelectCell>
- Parameters:
value
- the new value- See Also:
-
setAutoHideParent
Description copied from interface:I_CmsFormWidget
Call this when auto hiding parents are shown.- Specified by:
setAutoHideParent
in interfaceI_CmsFormWidget
- Parameters:
autoHideParent
- the auto hide parent- See Also:
-
setGhostMode
Description copied from interface:I_CmsHasGhostValue
Enables or disables ghost mode, if possible.- Specified by:
setGhostMode
in interfaceI_CmsHasGhostValue
- Parameters:
ghostMode
- if ghost mode should be enabled, else disabled- See Also:
-
setGhostValue
Description copied from interface:I_CmsHasGhostValue
Sets the "ghost value" of the widget and optionally sets it to "ghost mode"."Ghost mode" can be used to show the user the value (called "ghost value") which will be used if he either doesn't choose an option in the widget, or explicitly chooses an "empty" or "default" option.
- Specified by:
setGhostValue
in interfaceI_CmsHasGhostValue
- Parameters:
value
- the ghost valueghostMode
- if true, sets the widget to ghost mode- See Also:
-
setItems
Sets the items using a map from option values to label texts.- Parameters:
items
- the map containing the select options
-
setTextForNullSelection
Sets the text that is used for the "not selected" option.- Parameters:
text
- the text which should be used for the "not selected" option
-
setTitle
Sets the title for a select option.Note: This will only affect select options added *after* calling this method!
- Parameters:
option
- the select option valuetitle
- the new title for the option
-
truncateOpener
Description copied from class:A_CmsSelectBox
Abstract method whose implementation should truncate the opener widget(s).- Specified by:
truncateOpener
in classA_CmsSelectBox<CmsLabelSelectCell>
- Parameters:
prefix
- the text metrics prefixwidth
- the widget width- See Also:
-
updateCell
Updates a single select cell.- Parameters:
cell
- the select cell to update
-
updateCells
Updates the select cells. -
createUnknownOption
Description copied from class:A_CmsSelectBox
Internal method to create a select option for an unknown value.- Specified by:
createUnknownOption
in classA_CmsSelectBox<CmsLabelSelectCell>
- Parameters:
value
- the value for which to create the option- Returns:
- the new option
- See Also:
-
getTitle
Helper method to get the title for a given select option.- Parameters:
option
- the select option valuedefaultValue
- the value to return when no title for the value was found- Returns:
- the title for the select option
-
initOpener
Description copied from class:A_CmsSelectBox
The implementation of this method should initialize the opener of the select box.- Specified by:
initOpener
in classA_CmsSelectBox<CmsLabelSelectCell>
- See Also:
-
onLoad
- Overrides:
onLoad
in classA_CmsSelectBox<CmsLabelSelectCell>
- See Also:
-
Widget.onLoad()
-
updateOpener
Description copied from class:A_CmsSelectBox
The implementation of this method should update the opener when a new value is selected by the user.- Specified by:
updateOpener
in classA_CmsSelectBox<CmsLabelSelectCell>
- Parameters:
newValue
- the value selected by the user- See Also:
-
updateStyle
This method should be used to make changes to the CSS style of the select box when the value changes.
-