Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## echopointng.ui.syncpeer
Class ButtonExPeer

    java.lang.Object
      echopointng.ui.syncpeer.AbstractEchoPointPeer
          echopointng.ui.syncpeer.ButtonExPeer

All Implemented Interfaces:
  ActionProcessor, ComponentSynchronizePeer, DomUpdateSupport

Direct Known Subclasses:
  PushButtonPeer

    public class ButtonExPeer

extends AbstractEchoPointPeer
implements ActionProcessor

`ButtonExPeer` is a peer for `ButtonEx`

Field Summary
`static Service` | `BUTTON_SERVICE` Service to provide supporting JavaScript library.

Fields inherited from class echopointng.ui.syncpeer.AbstractEchoPointPeer
`DEFAULT_CONTAINER_TAG, partialUpdateManager`

Fields inherited from interface nextapp.echo2.webcontainer.ActionProcessor
`ACTION_NAME, ACTION_VALUE`

Constructor Summary
`ButtonExPeer()`

Method Summary
`protected int` | `convertIconTextPositionToOrientation(Alignment alignment, Component component)`
`java.lang.String` | `getContainerId(Component child)` Returns an identifier in the form "parentId_contains_childId".
`protected org.w3c.dom.Element` | `getTopLevelButtonElement(RenderingContext rc, ButtonEx button, Style fallbackStyle)` Called to return the top level Element to be used around the rendered ButtonEx
`void` | `processAction(ContainerInstance ci, Component component, org.w3c.dom.Element actionElement)` Notifies the `ComponentSynchronizePeer` that a client action has occurred.
`protected void` | `renderButtonContent(RenderingContext rc, org.w3c.dom.Element buttonContainerElement, ButtonEx button, Style fallbackStyle)` Renders the content of the button, i.e., its text, icon, and/or state icon.
`protected void` | `renderCellIcon(TriCellTable tct, org.w3c.dom.Element iconElement, int cellIndex, Style fallbackStyle)` Renders the content of the `TriCellTable` cell which contains the button's icon.
`protected void` | `renderCellText(RenderingContext rc, TriCellTable tct, org.w3c.dom.Text textNode, ButtonEx button, Style fallbackStyle)` Renders the content of the `TriCellTable` cell which contains the button's text.
`void` | `renderDispose(RenderContext rc, ServerComponentUpdate update, Component component)` Removes any render state that is associated with the component.
`protected void` | `renderEventSupport(RenderingContext rc, ButtonEx button, boolean addRolloverListener)` Called to add the event support to the ButtonEx.
`void` | `renderHtml(RenderingContext rc, org.w3c.dom.Node parent, Component component)` This is the rendering method you must implement if you are to use `AbstractEchoPointPeer`.
`protected boolean` | `renderRolloverStyleSupport(RenderingContext rc, ButtonEx button, Style fallbackStyle)` Called to render the rollover style support required for this ButtonEx.
`protected CssStyle` | `renderTopLevelStyleSupport(RenderingContext rc, ButtonEx button, Style fallbackStyle)` Called to render the CssStyle for the top level ButtonEx element
`boolean` | `renderUpdate(RenderContext rc, ServerComponentUpdate update, java.lang.String targetId)` This method ends up calling `renderUpdateBaseImpl(rc, update, targetId, fullReplace)` method with `fullReplace` as true.

Methods inherited from class echopointng.ui.syncpeer.AbstractEchoPointPeer
`disposeRenderState, renderAdd, renderHtml, renderReplaceableChild, renderUpdateAddChildren, renderUpdateBaseImpl, renderUpdateRemoveChildren, retreiveRenderState, storeRenderState`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### BUTTON_SERVICE

    public static final Service BUTTON_SERVICE

  Service to provide supporting JavaScript library.

Constructor Detail

### ButtonExPeer

    public ButtonExPeer()

Method Detail

### getContainerId

    public java.lang.String getContainerId(Component child)

  Description copied from class: `AbstractEchoPointPeer`
  Returns an identifier in the form "parentId_contains_childId".

  Specified by:
    `getContainerId` in interface `ComponentSynchronizePeer`
  Overrides:
    `getContainerId` in class `AbstractEchoPointPeer`
  Parameters:
    `child` - a `Component` whose parent is of the type synchronized by this peer object.
  Returns:
    the id of the element which should contain the child component's rendered HTML.
  See Also:
    `nextapp.echo2.webcontainer.SynchronizePeer#getContainerId(nextapp.echo2.app.Component)`

### processAction

    public void processAction(ContainerInstance ci,
                              Component component,
                              org.w3c.dom.Element actionElement)

  Description copied from interface: `ActionProcessor`
  Notifies the `ComponentSynchronizePeer` that a client action has occurred.

  Specified by:
    `processAction` in interface `ActionProcessor`
  Parameters:
    `ci` - the relevant `ContainerInstance`
    `component` - the target `Component`
    `actionElement` - the XML element describing the action (the name and value of the action may be obtained by querying the `ACTION_NAME` and `ACTION_VALUE` attribute values.
  See Also:
    `ActionProcessor.processAction(nextapp.echo2.webcontainer.ContainerInstance, nextapp.echo2.app.Component, org.w3c.dom.Element)`

### renderDispose

    public void renderDispose(RenderContext rc,
                              ServerComponentUpdate update,
                              Component component)

  Description copied from class: `AbstractEchoPointPeer`
  Removes any render state that is associated with the component.

  Remember to call `super.renderDispose()` if you overrride this method.

  Specified by:
    `renderDispose` in interface `ComponentSynchronizePeer`
  Overrides:
    `renderDispose` in class `AbstractEchoPointPeer`
  Parameters:
    `rc` - the relevant `RenderContext`
    `update` - the `ServerComponentUpdate` for which this operation is being performed
  See Also:
    `nextapp.echo2.webcontainer.SynchronizePeer#renderDispose(nextapp.echo2.webcontainer.RenderContext, nextapp.echo2.app.update.ServerComponentUpdate, nextapp.echo2.app.Component)`

### renderUpdate

    public boolean renderUpdate(RenderContext rc,
                                ServerComponentUpdate update,
                                java.lang.String targetId)

  Description copied from class: `AbstractEchoPointPeer`
  This method ends up calling `renderUpdateBaseImpl(rc, update, targetId, fullReplace)` method with `fullReplace` as true. In other words by default it does coarse grain replacement of children.

  Specified by:
    `renderUpdate` in interface `ComponentSynchronizePeer`
  Overrides:
    `renderUpdate` in class `AbstractEchoPointPeer`
  Parameters:
    `rc` - the relevant `RenderContext`
    `update` - the `ServerComponentUpdate` for which this operation is being performed
    `targetId` - the id of the HTML element inside of which the components HTML code should be rendered.
  Returns:
    true if updates to descendants should NOT be performed
  See Also:
    `AbstractEchoPointPeer.renderUpdate(nextapp.echo2.webcontainer.RenderContext, nextapp.echo2.app.update.ServerComponentUpdate, java.lang.String)`

### renderHtml

    public void renderHtml(RenderingContext rc,
                           org.w3c.dom.Node parent,
                           Component component)

  Description copied from class: `AbstractEchoPointPeer`
  This is the rendering method you must implement if you are to use `AbstractEchoPointPeer`.

  Its a simpler wrapper for the standard one but provides some neato setup services that would otherwise be repeated over and over again.

  Note the use of RenderingContext object instead of the standard Echo RenderContext as this provides more rich code facilities.

  Specified by:
    `renderHtml` in class `AbstractEchoPointPeer`
  Parameters:
    `rc` - - the RenderingContext to use
    `parent` - - the parent Node to put content into
    `component` - - the component in question
  See Also:
    `AbstractEchoPointPeer.renderHtml(echopointng.ui.util.RenderingContext, Node, nextapp.echo2.app.Component)`

### getTopLevelButtonElement

    protected org.w3c.dom.Element getTopLevelButtonElement(RenderingContext rc,
                                                           ButtonEx button,
                                                           Style fallbackStyle)

  Called to return the top level Element to be used around the rendered ButtonEx

### renderTopLevelStyleSupport

    protected CssStyle renderTopLevelStyleSupport(RenderingContext rc,
                                                  ButtonEx button,
                                                  Style fallbackStyle)

  Called to render the CssStyle for the top level ButtonEx element

### renderRolloverStyleSupport

    protected boolean renderRolloverStyleSupport(RenderingContext rc,
                                                 ButtonEx button,
                                                 Style fallbackStyle)

  Called to render the rollover style support required for this ButtonEx. It should return true if rollover support of some kind was added.

### renderEventSupport

    protected void renderEventSupport(RenderingContext rc,
                                      ButtonEx button,
                                      boolean addRolloverListener)

  Called to add the event support to the ButtonEx. If addRolloverListener is true then rollover support has been previously added.

  Parameters:
    `rc` - - the RenderingContext in place
    `button` - - the current button
    `addRolloverListener` - - the result of the renderRolloverStyleSupport() method call

### renderButtonContent

    protected void renderButtonContent(RenderingContext rc,
                                       org.w3c.dom.Element buttonContainerElement,
                                       ButtonEx button,
                                       Style fallbackStyle)

  Renders the content of the button, i.e., its text, icon, and/or state icon.

  Parameters:
    `rc` - the relevant `RenderingContext`
    `buttonContainerElement` - the `Element` which will contain the content
    `button` - the `ButtonEx` being rendered

### renderCellIcon

    protected void renderCellIcon(TriCellTable tct,
                                  org.w3c.dom.Element iconElement,
                                  int cellIndex,
                                  Style fallbackStyle)

  Renders the content of the `TriCellTable` cell which contains the button's icon.

  Parameters:
    `tct` - the `TriCellTable` to update
    `textNode` - the text
    `cellIndex` - the index of the cell in the `TriCellTable` that should contain the icon

### renderCellText

    protected void renderCellText(RenderingContext rc,
                                  TriCellTable tct,
                                  org.w3c.dom.Text textNode,
                                  ButtonEx button,
                                  Style fallbackStyle)

  Renders the content of the `TriCellTable` cell which contains the button's text. Text is always rendered in cell #0 of the table.

  Parameters:
    `tct` - the `TriCellTable` to update
    `textNode` - the text
    `button` - the `ButtonEx` being rendered

### convertIconTextPositionToOrientation

    protected int convertIconTextPositionToOrientation(Alignment alignment,
                                                       Component component)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD