com.guiseframework.platform.web
Class WebDropMenuDepictor<C extends Menu>

java.lang.Object
  extended by com.guiseframework.platform.AbstractDepictor<C>
      extended by com.guiseframework.platform.AbstractComponentDepictor<C>
          extended by com.guiseframework.platform.web.AbstractWebComponentDepictor<C>
              extended by com.guiseframework.platform.web.AbstractWebLayoutComponentDepictor<C>
                  extended by com.guiseframework.platform.web.AbstractWebMenuDepictor<C>
                      extended by com.guiseframework.platform.web.WebDropMenuDepictor<C>
Type Parameters:
C - The type of component being depicted.
All Implemented Interfaces:
ComponentDepictor<C>, Depictor<C>, WebComponentDepictor<C>, WebDepictor<C>

public class WebDropMenuDepictor<C extends Menu>
extends AbstractWebMenuDepictor<C>

Strategy for rendering a menu as a drop menu. The following illustrates a simplified drop menu structure.

<div class="dropMenu" style="position:relative;">
        <label>Menu</label>
        <div class="dropMenu-container" style="position:absolute;left:0%;top:100%;width:1000%">
                <div class="dropMenu-body" style="position:absolute;left:0%;top:0%;">
                        <table class="layout-flow-y">
                                <tbody>
                                        <tr class="layout-flow-y">
                                                <td class="layout-flow-y-child"><div>
                                                        <a href=""><span>Submenu</span></a></div>
                                                </td>
                                        </tr>
                                </tbody>
                        </table>
                </div>
        </div>
</div>

Author:
Garret Wilson

Nested Class Summary
 
Nested classes/interfaces inherited from class com.guiseframework.platform.AbstractComponentDepictor
AbstractComponentDepictor.DepictedCompositeComponentListener
 
Nested classes/interfaces inherited from class com.guiseframework.platform.AbstractDepictor
AbstractDepictor.DepictedPropertyChangeListener
 
Field Summary
 
Fields inherited from class com.guiseframework.platform.web.AbstractWebLayoutComponentDepictor
COLUMN_REGION_CLASSES, ROW_REGION_CLASSES
 
Fields inherited from class com.guiseframework.platform.web.AbstractWebComponentDepictor
BODY_END_PATTERN, BODY_START_PATTERN
 
Fields inherited from class com.guiseframework.platform.AbstractComponentDepictor
childPropertyChangeListener
 
Fields inherited from interface com.guiseframework.platform.Depictor
GENERAL_PROPERTY
 
Constructor Summary
WebDropMenuDepictor()
          Default constructor using the XHTML <ol> element.
 
Method Summary
protected  void depictBegin()
          Begins the rendering process.
protected  void depictEnd()
          Ends the rendering process.
protected  java.util.Map<java.lang.String,java.lang.Object> getBodyStyles()
          Retrieves the styles for the body element of the component.
protected  java.util.Map<java.lang.String,java.lang.Object> getOuterStyles()
          Retrieves the styles for the outer element of the component.
 
Methods inherited from class com.guiseframework.platform.web.AbstractWebMenuDepictor
getBaseStyleIDs, processEvent
 
Methods inherited from class com.guiseframework.platform.web.AbstractWebLayoutComponentDepictor
beginRegion, beginRegion, depictChildren, getAlign, updateFlowChildView
 
Methods inherited from class com.guiseframework.platform.web.AbstractWebComponentDepictor
addFlowStyleIDs, decorateID, depict, depictBody, getBackgroundColor, getBodyStyleIDs, getColor, getDepictContext, getDepictName, getLabelStyles, getLabelStyles, getLabelStyles, getLocalName, getNamespaceURI, getPlatform, hasLabelContent, hasLabelContent, hasLabelContent, hasLabelContent, isEmptyElementAllowed, isMouseListener, writeBodyIDClassAttributes, writeClassAttribute, writeDirectionAttribute, writeDirectionAttribute, writeErrorMessage, writeFloatClear, writeIDAttribute, writeIDClassAttributes, writeLabel, writeLabelContent, writeLabelContent, writeLabelContent, writeLabelContent, writeLabelContent, writeLabelContent, writeParameterInputs, writeStyleAttribute, writeText
 
Methods inherited from class com.guiseframework.platform.AbstractComponentDepictor
depictChild, depictedObjectPropertyChange, getDepictedCompositeComponentListener, getErrorMessage, installed, uninstalled
 
Methods inherited from class com.guiseframework.platform.AbstractDepictor
getDepictedObject, getDepictedPropertyChangeListener, getIgnoredProperties, getModifiedProperties, getSession, isDepicted, setDepicted, setPropertyModified
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.guiseframework.platform.Depictor
getDepictedObject, getSession, installed, isDepicted, setDepicted, uninstalled
 

Constructor Detail

WebDropMenuDepictor

public WebDropMenuDepictor()
Default constructor using the XHTML <ol> element.

Method Detail

getOuterStyles

protected java.util.Map<java.lang.String,java.lang.Object> getOuterStyles()
Retrieves the styles for the outer element of the component. This version adds relative positioning to make the main part of the menu the containing block for absolute child positioning. //TODO del This version removes the visibility specification, allowing this to be controlled by client JavaScript.

Overrides:
getOuterStyles in class AbstractWebComponentDepictor<C extends Menu>
Returns:
The styles for the outer element of the component, mapped to CSS property names.
See Also:
AbstractWebComponentDepictor.getBodyStyles()

getBodyStyles

protected java.util.Map<java.lang.String,java.lang.Object> getBodyStyles()
Retrieves the styles for the body element of the component. This version correctly positions the menu body for non-root menus using absolute positioning.

Overrides:
getBodyStyles in class AbstractWebComponentDepictor<C extends Menu>
Returns:
The styles for the body element of the component, mapped to CSS property names.

depictBegin

protected void depictBegin()
                    throws java.io.IOException
Begins the rendering process. This version wraps the component in a decorator element.

Overrides:
depictBegin in class AbstractWebComponentDepictor<C extends Menu>
Throws:
java.io.IOException - if there is an error rendering the component.
java.lang.IllegalArgumentException - if the given value control represents a value type this controller doesn't support.

depictEnd

protected void depictEnd()
                  throws java.io.IOException
Ends the rendering process. This version closes the decorator elements.

Overrides:
depictEnd in class AbstractWebComponentDepictor<C extends Menu>
Throws:
java.io.IOException - if there is an error rendering the component.


Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.