Class CmsFormatterSelectWidget
- 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.acacia.client.widgets.CmsFormatterSelectWidget
-
- All Implemented Interfaces:
com.google.gwt.event.dom.client.HasFocusHandlers
,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.TakesValue<java.lang.String>
,com.google.gwt.user.client.ui.HasValue<java.lang.String>
,com.google.gwt.user.client.ui.HasVisibility
,com.google.gwt.user.client.ui.IsRenderable
,com.google.gwt.user.client.ui.IsWidget
,I_CmsEditWidget
,I_CmsHasDisplayDirection
public class CmsFormatterSelectWidget extends com.google.gwt.user.client.ui.Composite implements I_CmsEditWidget, I_CmsHasDisplayDirection
Select widget which uses other values from the content as select options.This works as follows: The widget is given a configuration consisting of three pipe-separated OpenCms content value paths. The first path is used to select a set of nested content values. The second and third paths are relative to the first path and are used to select a select option and a select option display text from the nested contents matching the first path. Note that if you omit indexes on a component of the first path, all indexes will be matched. The widget attaches event listeners to the editor so it can dynamically update the list of select options when the content changes.
-
-
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.acacia.client.widgets.I_CmsHasDisplayDirection
I_CmsHasDisplayDirection.Direction
-
-
Field Summary
Fields Modifier and Type Field Description protected CmsFilterSelectBox
m_selectBox
The global select box.
-
Constructor Summary
Constructors Constructor Description CmsFormatterSelectWidget(java.lang.String configuration)
Creates a new widget instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.gwt.event.shared.HandlerRegistration
addFocusHandler(com.google.gwt.event.dom.client.FocusHandler handler)
com.google.gwt.event.shared.HandlerRegistration
addValueChangeHandler(com.google.gwt.event.logical.shared.ValueChangeHandler<java.lang.String> handler)
void
fireChangeEvent()
Represents a value change event.I_CmsHasDisplayDirection.Direction
getDisplayingDirection()
Returns the display direction.java.lang.String
getValue()
boolean
isActive()
Returns if the widget is active.void
onAttachWidget()
This method is called when a widget is attached to the browser's document.void
onLoad()
boolean
owns(com.google.gwt.dom.client.Element element)
Returns true if the element should be logically counted as part of the widget for the purpose of determining whether a mouse click is "outside".void
setActive(boolean active)
Sets the widget active/inactive.void
setName(java.lang.String name)
Sets the name of input fields.void
setValue(java.lang.String value)
void
setValue(java.lang.String value, boolean fireEvents)
void
update(org.opencms.acacia.shared.CmsEntity entity)
Updates the select options from the given entity.-
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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.opencms.acacia.client.widgets.I_CmsEditWidget
shouldSetDefaultWhenDisabled
-
-
-
-
Field Detail
-
m_selectBox
protected CmsFilterSelectBox m_selectBox
The global select box.
-
-
Constructor Detail
-
CmsFormatterSelectWidget
public CmsFormatterSelectWidget(java.lang.String configuration)
Creates a new widget instance.- Parameters:
configuration
- the widget configuration
-
-
Method Detail
-
addFocusHandler
public com.google.gwt.event.shared.HandlerRegistration addFocusHandler(com.google.gwt.event.dom.client.FocusHandler handler)
- Specified by:
addFocusHandler
in interfacecom.google.gwt.event.dom.client.HasFocusHandlers
- See Also:
HasFocusHandlers.addFocusHandler(com.google.gwt.event.dom.client.FocusHandler)
-
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>
- Specified by:
addValueChangeHandler
in interfaceI_CmsEditWidget
- See Also:
HasValueChangeHandlers.addValueChangeHandler(com.google.gwt.event.logical.shared.ValueChangeHandler)
-
fireChangeEvent
public void fireChangeEvent()
Represents a value change event.Please edit the blog entry text.
-
getDisplayingDirection
public I_CmsHasDisplayDirection.Direction getDisplayingDirection()
Description copied from interface:I_CmsHasDisplayDirection
Returns the display direction.- Specified by:
getDisplayingDirection
in interfaceI_CmsHasDisplayDirection
- Returns:
- the display direction
- See Also:
I_CmsHasDisplayDirection.getDisplayingDirection()
-
getValue
public java.lang.String getValue()
- Specified by:
getValue
in interfacecom.google.gwt.user.client.ui.HasValue<java.lang.String>
- Specified by:
getValue
in interfacecom.google.gwt.user.client.TakesValue<java.lang.String>
- See Also:
HasValue.getValue()
-
isActive
public boolean isActive()
Description copied from interface:I_CmsEditWidget
Returns if the widget is active.- Specified by:
isActive
in interfaceI_CmsEditWidget
- Returns:
true
if the widget is active- See Also:
I_CmsEditWidget.isActive()
-
onAttachWidget
public void onAttachWidget()
Description copied from interface:I_CmsEditWidget
This method is called when a widget is attached to the browser's document.It needs to call the
Widget.onAttach()
method.- Specified by:
onAttachWidget
in interfaceI_CmsEditWidget
- See Also:
I_CmsEditWidget.onAttachWidget()
-
onLoad
public void onLoad()
- Overrides:
onLoad
in classcom.google.gwt.user.client.ui.Widget
- See Also:
Widget.onLoad()
-
owns
public boolean owns(com.google.gwt.dom.client.Element element)
Description copied from interface:I_CmsEditWidget
Returns true if the element should be logically counted as part of the widget for the purpose of determining whether a mouse click is "outside". For example, this is needed if the widget uses a popup.- Specified by:
owns
in interfaceI_CmsEditWidget
- Parameters:
element
- the element to check- Returns:
- true if the element counts as part of the widget
- See Also:
I_CmsEditWidget.owns(com.google.gwt.dom.client.Element)
-
setActive
public void setActive(boolean active)
Description copied from interface:I_CmsEditWidget
Sets the widget active/inactive.- Specified by:
setActive
in interfaceI_CmsEditWidget
- Parameters:
active
-true
to activate the widget- See Also:
I_CmsEditWidget.setActive(boolean)
-
setName
public void setName(java.lang.String name)
Description copied from interface:I_CmsEditWidget
Sets the name of input fields.- Specified by:
setName
in interfaceI_CmsEditWidget
- Parameters:
name
- of the input field- See Also:
I_CmsEditWidget.setName(java.lang.String)
-
setValue
public void setValue(java.lang.String value)
- Specified by:
setValue
in interfacecom.google.gwt.user.client.ui.HasValue<java.lang.String>
- Specified by:
setValue
in interfacecom.google.gwt.user.client.TakesValue<java.lang.String>
- See Also:
HasValue.setValue(java.lang.Object)
-
setValue
public void setValue(java.lang.String value, boolean fireEvents)
- Specified by:
setValue
in interfacecom.google.gwt.user.client.ui.HasValue<java.lang.String>
- Specified by:
setValue
in interfaceI_CmsEditWidget
- See Also:
HasValue.setValue(java.lang.Object, boolean)
-
update
public void update(org.opencms.acacia.shared.CmsEntity entity)
Updates the select options from the given entity.- Parameters:
entity
- a top-level content entity
-
-