net.sourceforge.jeuclid.elements.presentation.script
Class AbstractSubSuper

java.lang.Object
  extended by org.apache.batik.dom.AbstractNode
      extended by org.apache.batik.dom.AbstractParentNode
          extended by org.apache.batik.dom.AbstractParentChildNode
              extended by org.apache.batik.dom.AbstractElement
                  extended by org.apache.batik.dom.AbstractElementNS
                      extended by org.apache.batik.dom.GenericElementNS
                          extended by net.sourceforge.jeuclid.elements.AbstractJEuclidElement
                              extended by net.sourceforge.jeuclid.elements.presentation.script.AbstractScriptElement
                                  extended by net.sourceforge.jeuclid.elements.presentation.script.AbstractSubSuper
All Implemented Interfaces:
Serializable, JEuclidElement, JEuclidNode, LayoutableNode, NodeEventTarget, ExtendedNode, NodeXBL, XBLManagerData, Element, ElementTraversal, EventTarget, MathMLElement, MathMLPresentationElement, MathMLScriptElement, Node
Direct Known Subclasses:
Msub, Msubsup, Msup

public abstract class AbstractSubSuper
extends AbstractScriptElement
implements MathMLScriptElement

Generic support for all elements that have a subscript or a superscript attribute.

Supported elements: msub, msup, msubsup.

Version:
$Revision: bc1d5fde7b73 $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.batik.dom.AbstractElement
AbstractElement.ElementTypeInfo, AbstractElement.Entry, AbstractElement.NamedNodeHashMap
 
Nested classes/interfaces inherited from class org.apache.batik.dom.AbstractParentNode
AbstractParentNode.ChildNodes, AbstractParentNode.ElementsByTagName, AbstractParentNode.ElementsByTagNameNS
 
Field Summary
 
Fields inherited from class net.sourceforge.jeuclid.elements.presentation.script.AbstractScriptElement
ATTR_SUBSCRIPTSHIFT, ATTR_SUPERSCRIPTSHIFT
 
Fields inherited from class net.sourceforge.jeuclid.elements.AbstractJEuclidElement
ATTR_CLASS, ATTR_DEPRECATED_BACKGROUND, ATTR_DEPRECATED_COLOR, ATTR_DEPRECATED_FONTFAMILY, ATTR_DEPRECATED_FONTSIZE, ATTR_DEPRECATED_FONTSTYLE, ATTR_DEPRECATED_FONTWEIGHT, ATTR_HREF, ATTR_ID, ATTR_MATHBACKGROUND, ATTR_MATHCOLOR, ATTR_MATHSIZE, ATTR_MATHVARIANT, ATTR_STYLE, ATTR_XREF, TRIVIAL_SPACE_MAX, URI
 
Fields inherited from class org.apache.batik.dom.GenericElementNS
nodeName, readonly
 
Fields inherited from class org.apache.batik.dom.AbstractElementNS
namespaceURI
 
Fields inherited from class org.apache.batik.dom.AbstractElement
attributes, typeInfo
 
Fields inherited from class org.apache.batik.dom.AbstractParentChildNode
nextSibling, parentNode, previousSibling
 
Fields inherited from class org.apache.batik.dom.AbstractParentNode
childNodes
 
Fields inherited from class org.apache.batik.dom.AbstractNode
DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, EMPTY_NODE_LIST, eventSupport, managerData, ownerDocument, userData, userDataHandlers
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
AbstractSubSuper(String qname, AbstractDocument odoc)
          Default constructor.
 
Method Summary
abstract  JEuclidElement getBase()
          A MathMLElement representing the base of the script.
abstract  JEuclidElement getSubscript()
          A MathMLElement representing the subscript of the script.
abstract  JEuclidElement getSuperscript()
          A MathMLElement representing the superscript of the script.
 boolean hasChildPostscripts(JEuclidElement child, LayoutContext context)
          returns true is the child has postscripts attached to it.
protected  void layoutStageInvariant(LayoutView view, LayoutInfo info, LayoutStage stage, LayoutContext context)
          Layout for elements which are stage independent.
 
Methods inherited from class net.sourceforge.jeuclid.elements.presentation.script.AbstractScriptElement
getChildLayoutContext, getSubscriptshift, getSuperscriptshift, setSubscriptshift, setSuperscriptshift
 
Methods inherited from class net.sourceforge.jeuclid.elements.AbstractJEuclidElement
addMathElement, applyLocalAttributesToContext, changeHook, dispatchEvent, getChildrenToDraw, getChildrenToLayout, getClassName, getContents, getFont, getFontMetrics, getHref, getId, getIndexOfMathElement, getMathAttribute, getMathAttribute, getMathbackground, getMathcolor, getMathElement, getMathElementCount, getMathElementStyle, getMathsize, getMathvariant, getMathvariantAsVariant, getMiddleShift, getOwnerMathElement, getParent, getText, getXref, hasChildPrescripts, layoutStage1, layoutStage2, setClassName, setDefaultMathAttribute, setFakeParent, setHref, setId, setMathbackground, setMathcolor, setMathElement, setMathElementStyle, setMathsize, setMathvariant, setXref
 
Methods inherited from class org.apache.batik.dom.GenericElementNS
copyInto, deepCopyInto, deepExport, export, getNodeName, isReadonly, newNode, setNodeName, setReadonly
 
Methods inherited from class org.apache.batik.dom.AbstractElementNS
getNamespaceURI
 
Methods inherited from class org.apache.batik.dom.AbstractElement
attrAdded, attrModified, attrRemoved, checkChildType, createAttributes, fireDOMAttrModifiedEvent, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getChildElementCount, getFirstElementChild, getIdAttribute, getLastElementChild, getNextElementSibling, getNodeType, getPreviousElementSibling, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, nodeAdded, nodeToBeRemoved, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from class org.apache.batik.dom.AbstractParentChildNode
getNextSibling, getParentNode, getPreviousSibling, setNextSibling, setParentNode, setPreviousSibling
 
Methods inherited from class org.apache.batik.dom.AbstractParentNode
appendChild, checkAndRemove, fireDOMNodeInsertedEvent, fireDOMNodeInsertedIntoDocumentEvent, fireDOMNodeRemovedEvent, fireDOMNodeRemovedFromDocumentEvent, fireDOMSubtreeModifiedEvent, getChildNodes, getElementsByTagName, getElementsByTagNameNS, getFirstChild, getLastChild, getTextContent, hasChildNodes, insertBefore, removeChild, replaceChild
 
Methods inherited from class org.apache.batik.dom.AbstractNode
addEventListener, addEventListenerNS, cloneNode, compareDocumentPosition, compareNamedNodeMaps, compareStrings, createDOMException, fireDOMCharacterDataModifiedEvent, fireUserDataHandlers, getBaseURI, getBaseURI, getCascadedXMLBase, getCurrentDocument, getEventSupport, getFeature, getLocalName, getManagerData, getNodeValue, getOwnerDocument, getParentNodeEventTarget, getPrefix, getUserData, getXblBoundElement, getXblChildNodes, getXblDefinitions, getXblFirstChild, getXblFirstElementChild, getXblLastChild, getXblLastElementChild, getXblNextElementSibling, getXblNextSibling, getXblParentNode, getXblPreviousElementSibling, getXblPreviousSibling, getXblScopedChildNodes, getXblShadowTree, hasEventListenerNS, initializeEventSupport, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespacePrefix, lookupNamespaceURI, lookupPrefix, removeEventListener, removeEventListenerNS, setManagerData, setNodeValue, setOwnerDocument, setPrefix, setSpecified, setTextContent, setUserData, willTriggerNS
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.mathml.MathMLScriptElement
getSubscriptshift, getSuperscriptshift, setBase, setSubscript, setSubscriptshift, setSuperscript, setSuperscriptshift
 
Methods inherited from interface org.w3c.dom.mathml.MathMLElement
getClassName, getHref, getId, getMathElementStyle, getOwnerMathElement, getXref, setClassName, setHref, setId, setMathElementStyle, setXref
 
Methods inherited from interface org.w3c.dom.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Constructor Detail

AbstractSubSuper

public AbstractSubSuper(String qname,
                        AbstractDocument odoc)
Default constructor. Sets MathML Namespace.

Parameters:
qname - Qualified name.
odoc - Owner Document.
Method Detail

getBase

public abstract JEuclidElement getBase()
A MathMLElement representing the base of the script. This is the first child of the element.

Specified by:
getBase in interface MathMLScriptElement
Returns:
value of the base attribute.

getSuperscript

public abstract JEuclidElement getSuperscript()
A MathMLElement representing the superscript of the script. This is the second child of a msup or the third child of a msubsup; retrieval must return null for an msub.

Specified by:
getSuperscript in interface MathMLScriptElement
Returns:
value of the superscript attribute.

getSubscript

public abstract JEuclidElement getSubscript()
A MathMLElement representing the subscript of the script. This is the second child of a msub or msubsup; retrieval must return null for an msup.

Specified by:
getSubscript in interface MathMLScriptElement
Returns:
value of the subscript attribute.

hasChildPostscripts

public boolean hasChildPostscripts(JEuclidElement child,
                                   LayoutContext context)
returns true is the child has postscripts attached to it. In this case, there should be no extra space on the left.

Specified by:
hasChildPostscripts in interface JEuclidElement
Overrides:
hasChildPostscripts in class AbstractJEuclidElement
Parameters:
child - child to test
context - current layout context.
Returns:
true if there are attached postscripts

layoutStageInvariant

protected void layoutStageInvariant(LayoutView view,
                                    LayoutInfo info,
                                    LayoutStage stage,
                                    LayoutContext context)
Layout for elements which are stage independent.

This function will layout an element which is layed out the same no matter what stage it is in. This is the case for most elements.

Notable exceptions are mo and tables.

Overrides:
layoutStageInvariant in class AbstractJEuclidElement
Parameters:
view - View Object for this layout.
info - An info object which will be filled during layout.
stage - current layout stage.
context - current LayoutContext.


Copyright © 2002-2010 The JEuclid project. All Rights Reserved.