Class 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected CmsSelectBox m_selectBox
      The global select box.
      • Fields inherited from class com.google.gwt.user.client.ui.UIObject

        DEBUG_ID_PREFIX
    • 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 com.google.gwt.event.shared.HasHandlers

        fireEvent
      • Methods inherited from interface com.google.gwt.user.client.ui.IsWidget

        asWidget
    • 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 interface com.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 interface com.google.gwt.event.logical.shared.HasValueChangeHandlers<java.lang.String>
        Specified by:
        addValueChangeHandler in interface I_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.

      • getValue

        public java.lang.String getValue()
        Specified by:
        getValue in interface com.google.gwt.user.client.ui.HasValue<java.lang.String>
        Specified by:
        getValue in interface com.google.gwt.user.client.TakesValue<java.lang.String>
        See Also:
        HasValue.getValue()
      • onLoad

        public void onLoad()
        Overrides:
        onLoad in class com.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 interface I_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)
      • setValue

        public void setValue​(java.lang.String value)
        Specified by:
        setValue in interface com.google.gwt.user.client.ui.HasValue<java.lang.String>
        Specified by:
        setValue in interface com.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 interface com.google.gwt.user.client.ui.HasValue<java.lang.String>
        Specified by:
        setValue in interface I_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