Package org.opencms.gwt.client.ui.input
Class CmsSelectComboBox
- 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.CmsSelectComboBox
-
- All Implemented Interfaces:
com.google.gwt.event.logical.shared.HasAttachHandlers
,com.google.gwt.event.logical.shared.HasValueChangeHandlers<java.lang.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_CmsFormWidget
,I_CmsHasGhostValue
public class CmsSelectComboBox extends com.google.gwt.user.client.ui.Composite implements I_CmsFormWidget, I_CmsHasInit, com.google.gwt.event.logical.shared.HasValueChangeHandlers<java.lang.String>, I_CmsHasGhostValue
Hybrid select / combo box widget.This widget behaves like a select box, until a button on it is pressed, after which the select box is transformed into a combo box. The reason for this is that the combo box always displays the currently selected value itself, rather than the label from the widget configuration, which may be confusing to nontechnical users in some cases.
-
-
Nested Class Summary
-
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
Fields Modifier and Type Field Description static java.lang.String
WIDGET_TYPE
Widget type identifier for the configuration.
-
Constructor Summary
Constructors Constructor Description CmsSelectComboBox(java.util.Map<java.lang.String,java.lang.String> options, boolean forProperties, boolean nullOption)
Creates a new widget instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.gwt.event.shared.HandlerRegistration
addValueChangeHandler(com.google.gwt.event.logical.shared.ValueChangeHandler<java.lang.String> handler)
boolean
displayingAbove()
Returns whether the select options are being displayed below or above the widget.protected void
enableComboMode()
Switches to combo box mode.java.lang.String
getApparentValue()
Returns the "apparent value", i.e.CmsComboBox
getComboBox()
Gets the combo box instance.I_CmsFormWidget.FieldType
getFieldType()
Returns the type of data this widget produces.java.lang.Object
getFormValue()
Gets the selected/entered value from the widget.java.lang.String
getFormValueAsString()
Gets the current value of the widget as a string.CmsSelectBox
getSelectBox()
Gets the select box instance.static void
initClass()
Initializes this class.boolean
isEnabled()
Returnstrue
if this widget is enabled.void
reset()
Resets the widget to its default state.void
setAutoHideParent(I_CmsAutoHider autoHideParent)
Call this when auto hiding parents are shown.void
setEnabled(boolean enabled)
Enables or disables the widget.void
setErrorMessage(java.lang.String errorMessage)
Sets the error message for this widget.void
setFormValueAsString(java.lang.String value)
Sets the current value of the widget as a string.void
setGhostMode(boolean enable)
Enables or disables ghost mode, if possible.void
setGhostValue(java.lang.String value, boolean isGhostMode)
Sets the "ghost value" of the widget and optionally sets it to "ghost mode".-
Methods inherited from class com.google.gwt.user.client.ui.Composite
claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, 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, onLoad, onUnload, 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
-
-
-
-
Field Detail
-
WIDGET_TYPE
public static final java.lang.String WIDGET_TYPE
Widget type identifier for the configuration.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CmsSelectComboBox
public CmsSelectComboBox(java.util.Map<java.lang.String,java.lang.String> options, boolean forProperties, boolean nullOption)
Creates a new widget instance.- Parameters:
options
- the widget optionsforProperties
- if true, use the special widget versions for the property dialognullOption
- true if null option should be added
-
-
Method Detail
-
initClass
public static void initClass()
Initializes this class.
-
addValueChangeHandler
public com.google.gwt.event.shared.HandlerRegistration addValueChangeHandler(com.google.gwt.event.logical.shared.ValueChangeHandler<java.lang.String> handler)
- Specified by:
addValueChangeHandler
in interfacecom.google.gwt.event.logical.shared.HasValueChangeHandlers<java.lang.String>
- See Also:
HasValueChangeHandlers.addValueChangeHandler(com.google.gwt.event.logical.shared.ValueChangeHandler)
-
displayingAbove
public boolean displayingAbove()
Returns whether the select options are being displayed below or above the widget.- Returns:
true
in case the select options are displayed above the widget
-
getApparentValue
public java.lang.String 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:
I_CmsFormWidget.getApparentValue()
-
getComboBox
public CmsComboBox getComboBox()
Gets the combo box instance.- Returns:
- the combo box
-
getFieldType
public I_CmsFormWidget.FieldType getFieldType()
Description copied from interface:I_CmsFormWidget
Returns the type of data this widget produces.- Specified by:
getFieldType
in interfaceI_CmsFormWidget
- Returns:
- the data type
- See Also:
I_CmsFormWidget.getFieldType()
-
getFormValue
public java.lang.Object getFormValue()
Description copied from interface:I_CmsFormWidget
Gets the selected/entered value from the widget.- Specified by:
getFormValue
in interfaceI_CmsFormWidget
- Returns:
- the value
- See Also:
I_CmsFormWidget.getFormValue()
-
getFormValueAsString
public java.lang.String getFormValueAsString()
Description copied from interface:I_CmsFormWidget
Gets the current value of the widget as a string.- Specified by:
getFormValueAsString
in interfaceI_CmsFormWidget
- Returns:
- the current value of the widget
- See Also:
I_CmsFormWidget.getFormValueAsString()
-
getSelectBox
public CmsSelectBox getSelectBox()
Gets the select box instance.- Returns:
- the select box instance
-
isEnabled
public boolean isEnabled()
Description copied from interface:I_CmsFormWidget
Returnstrue
if this widget is enabled.- Specified by:
isEnabled
in interfaceI_CmsFormWidget
- Returns:
true
if this widget is enabled- See Also:
I_CmsFormWidget.isEnabled()
-
reset
public void reset()
Description copied from interface:I_CmsFormWidget
Resets the widget to its default state.- Specified by:
reset
in interfaceI_CmsFormWidget
- See Also:
I_CmsFormWidget.reset()
-
setAutoHideParent
public void setAutoHideParent(I_CmsAutoHider autoHideParent)
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:
I_CmsFormWidget.setAutoHideParent(org.opencms.gwt.client.ui.I_CmsAutoHider)
-
setEnabled
public void setEnabled(boolean enabled)
Description copied from interface:I_CmsFormWidget
Enables or disables the widget.- Specified by:
setEnabled
in interfaceI_CmsFormWidget
- Parameters:
enabled
- if true, the widget will be enabled, else disabled- See Also:
I_CmsFormWidget.setEnabled(boolean)
-
setErrorMessage
public void setErrorMessage(java.lang.String errorMessage)
Description copied from interface:I_CmsFormWidget
Sets the error message for this widget.If the error message is null, no error message will be displayed.
- Specified by:
setErrorMessage
in interfaceI_CmsFormWidget
- Parameters:
errorMessage
- an error message or null- See Also:
I_CmsFormWidget.setErrorMessage(java.lang.String)
-
setFormValueAsString
public void setFormValueAsString(java.lang.String value)
Description copied from interface:I_CmsFormWidget
Sets the current value of the widget as a string.- Specified by:
setFormValueAsString
in interfaceI_CmsFormWidget
- Parameters:
value
- the new value of the widget- See Also:
I_CmsFormWidget.setFormValueAsString(java.lang.String)
-
setGhostMode
public void setGhostMode(boolean enable)
Description copied from interface:I_CmsHasGhostValue
Enables or disables ghost mode, if possible.- Specified by:
setGhostMode
in interfaceI_CmsHasGhostValue
- Parameters:
enable
- if ghost mode should be enabled, else disabled- See Also:
I_CmsHasGhostValue.setGhostMode(boolean)
-
setGhostValue
public void setGhostValue(java.lang.String value, boolean isGhostMode)
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 valueisGhostMode
- if true, sets the widget to ghost mode- See Also:
I_CmsHasGhostValue.setGhostValue(java.lang.String, boolean)
-
enableComboMode
protected void enableComboMode()
Switches to combo box mode.
-
-