to.etc.domui.dom
Class MsGarbageHtmlTagRenderer

java.lang.Object
  extended by to.etc.domui.dom.HtmlTagRenderer
      extended by to.etc.domui.dom.MsGarbageHtmlTagRenderer
All Implemented Interfaces:
INodeVisitor

public class MsGarbageHtmlTagRenderer
extends HtmlTagRenderer

This is the HTML tag renderer for Microsoft Internet Exploder < 8.x, which tries to work around all of the gazillion bugs and blunders in these pieces of crapware.

Author:
Frits Jalvingh Created on Nov 24, 2009

Constructor Summary
MsGarbageHtmlTagRenderer(BrowserVersion bv, IBrowserOutput o)
           
 
Method Summary
protected  void renderChecked(NodeBase n, boolean checked)
          Render the "checked" attribute.
protected  void renderDisabled(NodeBase n, boolean disabled)
          IE has trouble setting these attributes inline.
protected  void renderReadOnly(NodeBase n, boolean readonly)
          IE has trouble setting these attributes inline.
protected  void renderSelected(NodeBase n, boolean checked)
          Render the 'selected' attribute.
 void visitTextArea(TextArea n)
          FIXME This now contains IE code where browser-standard code would just generate a proper TextArea with a content block.
 
Methods inherited from class to.etc.domui.dom.HtmlTagRenderer
addDelayedAttrs, appendStyle, basicNodeRender, fixColor, getBrowser, getMode, getStyleFor, isFullRender, isTagless, o, renderDiRo, renderEndTag, renderTag, renderTagend, sb, setRenderMode, setTagless, visitA, visitBR, visitButton, visitCheckbox, visitDiv, visitFileInput, visitForm, visitH, visitImg, visitInput, visitLabel, visitLi, visitLiteralXhtml, visitOption, visitRadioButton, visitSelect, visitSpan, visitTable, visitTBody, visitTD, visitTextNode, visitTH, visitTHead, visitTR, visitUl, visitXmlNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MsGarbageHtmlTagRenderer

public MsGarbageHtmlTagRenderer(BrowserVersion bv,
                                IBrowserOutput o)
Method Detail

renderDisabled

protected void renderDisabled(NodeBase n,
                              boolean disabled)
                       throws java.io.IOException
IE has trouble setting these attributes inline. So we generate delayed Javascript setters for them instead.

Overrides:
renderDisabled in class HtmlTagRenderer
Throws:
java.io.IOException
See Also:
HtmlTagRenderer.renderDisabled(to.etc.domui.dom.html.NodeBase, boolean)

renderReadOnly

protected void renderReadOnly(NodeBase n,
                              boolean readonly)
                       throws java.io.IOException
IE has trouble setting these attributes inline. So we generate delayed Javascript setters for them instead.

Overrides:
renderReadOnly in class HtmlTagRenderer
Throws:
java.io.IOException
See Also:
HtmlTagRenderer.renderReadOnly(to.etc.domui.dom.html.NodeBase, boolean)

renderChecked

protected void renderChecked(NodeBase n,
                             boolean checked)
                      throws java.io.IOException
Description copied from class: HtmlTagRenderer
Render the "checked" attribute. Override for shitware.

Overrides:
renderChecked in class HtmlTagRenderer
Throws:
java.io.IOException

renderSelected

protected void renderSelected(NodeBase n,
                              boolean checked)
                       throws java.io.IOException
Description copied from class: HtmlTagRenderer
Render the 'selected' attribute. Override for shitware.

Overrides:
renderSelected in class HtmlTagRenderer
Throws:
java.io.IOException

visitTextArea

public void visitTextArea(TextArea n)
                   throws java.lang.Exception
Description copied from class: HtmlTagRenderer
FIXME This now contains IE code where browser-standard code would just generate a proper TextArea with a content block. It needs to move to the crapware renderers.

Specified by:
visitTextArea in interface INodeVisitor
Overrides:
visitTextArea in class HtmlTagRenderer
Throws:
java.lang.Exception
See Also:
INodeVisitor.visitTextArea(to.etc.domui.dom.html.TextArea)