Class AbstractUnderOver
- java.lang.Object
-
- org.apache.batik.dom.AbstractNode
-
- org.apache.batik.dom.AbstractParentNode
-
- org.apache.batik.dom.AbstractParentChildNode
-
- org.apache.batik.dom.AbstractElement
-
- org.apache.batik.dom.AbstractElementNS
-
- org.apache.batik.dom.GenericElementNS
-
- net.sourceforge.jeuclid.elements.AbstractJEuclidElement
-
- net.sourceforge.jeuclid.elements.presentation.script.AbstractUnderOver
-
- All Implemented Interfaces:
java.io.Serializable,JEuclidElement,JEuclidNode,LayoutableNode,org.apache.batik.dom.events.NodeEventTarget,org.apache.batik.dom.ExtendedNode,org.apache.batik.dom.xbl.NodeXBL,org.apache.batik.dom.xbl.XBLManagerData,org.apache.batik.w3c.dom.ElementTraversal,org.w3c.dom.Element,org.w3c.dom.events.EventTarget,MathMLElement,MathMLPresentationElement,MathMLUnderOverElement,org.w3c.dom.Node
- Direct Known Subclasses:
Mover,Munder,Munderover
public abstract class AbstractUnderOver extends AbstractJEuclidElement implements MathMLUnderOverElement
Implementation and helper methods for munder, mover, and munderover.TODO: some operators should "default" to being an accent, but currently they don't
- Version:
- $Revision: 2986a8eeaebc $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringATTR_ACCENTattribute for accent property.static java.lang.StringATTR_ACCENTUNDERattribute for accentunder property.static floatNON_ACCENT_MULTIPLIERSpace for non-accents multiplied by this value.static java.lang.StringUNDER_OVER_SPACESpace between base and under/over for accents.-
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.AbstractParentChildNode
nextSibling, parentNode, previousSibling
-
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
Constructors Constructor Description AbstractUnderOver(java.lang.String qname, org.apache.batik.dom.AbstractDocument odoc)Default constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetAccent()Either true or false if present; a string controlling whether overscript is drawn as an accent or as a limit, if specified; this is the element's accent attribute.protected booleangetAccentAsBoolean()returns the accent property as boolean.java.lang.StringgetAccentunder()Either true or false if present; a string controlling whether underscript is drawn as an accent or as a limit, if specified; this is the element's accentunder attribute.protected booleangetAccentunderAsBoolean()returns the accentunder property as boolean.JEuclidElementgetBase()A MathMLElement representing the base of the script.LayoutContextgetChildLayoutContext(int childNum, LayoutContext context)get the layout context for the given child.abstract JEuclidElementgetOverscript()A MathMLElement representing the overscript of the script.abstract JEuclidElementgetUnderscript()A MathMLElement representing the underscript of the script.booleanhasChildPostscripts(JEuclidElement child, LayoutContext context)returns true is the child has postscripts attached to it.protected voidlayoutStageInvariant(LayoutView view, LayoutInfo info, LayoutStage stage, LayoutContext context)Layout for elements which are stage independent.voidsetAccent(java.lang.String accent)setter for the accent attribute.voidsetAccentunder(java.lang.String accentunder)setter for the accentunder attribute.voidsetBase(MathMLElement base)setter for the base attribute.-
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.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.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.mathml.MathMLElement
getClassName, getHref, getId, getMathElementStyle, getOwnerMathElement, getXref, setClassName, setHref, setId, setMathElementStyle, setXref
-
Methods inherited from interface org.w3c.dom.mathml.MathMLUnderOverElement
setOverscript, setUnderscript
-
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
-
-
-
-
Field Detail
-
UNDER_OVER_SPACE
public static final java.lang.String UNDER_OVER_SPACE
Space between base and under/over for accents.- See Also:
- Constant Field Values
-
NON_ACCENT_MULTIPLIER
public static final float NON_ACCENT_MULTIPLIER
Space for non-accents multiplied by this value.- See Also:
- Constant Field Values
-
ATTR_ACCENT
public static final java.lang.String ATTR_ACCENT
attribute for accent property.- See Also:
- Constant Field Values
-
ATTR_ACCENTUNDER
public static final java.lang.String ATTR_ACCENTUNDER
attribute for accentunder property.- See Also:
- Constant Field Values
-
-
Method Detail
-
getAccent
public java.lang.String getAccent()
Either true or false if present; a string controlling whether overscript is drawn as an accent or as a limit, if specified; this is the element's accent attribute. This must return null for an munder.- Specified by:
getAccentin interfaceMathMLUnderOverElement- Returns:
- value of the accent attribute.
-
getAccentAsBoolean
protected boolean getAccentAsBoolean()
returns the accent property as boolean.- Returns:
- accent
-
getAccentunder
public java.lang.String getAccentunder()
Either true or false if present; a string controlling whether underscript is drawn as an accent or as a limit, if specified; this is the element's accentunder attribute. This must return null for an mover.- Specified by:
getAccentunderin interfaceMathMLUnderOverElement- Returns:
- value of the accentunder attribute.
-
getChildLayoutContext
public LayoutContext getChildLayoutContext(int childNum, LayoutContext context)
get the layout context for the given child.- Specified by:
getChildLayoutContextin interfaceJEuclidNode- Overrides:
getChildLayoutContextin classAbstractJEuclidElement- Parameters:
childNum- 0-based number of the child to check.context- external context.- Returns:
- layout context to use.
-
getAccentunderAsBoolean
protected boolean getAccentunderAsBoolean()
returns the accentunder property as boolean.- Returns:
- accentunder
-
getBase
public JEuclidElement getBase()
A MathMLElement representing the base of the script. This is the first child of the element.- Specified by:
getBasein interfaceMathMLUnderOverElement- Returns:
- value of the base attribute.
-
getOverscript
public abstract JEuclidElement getOverscript()
A MathMLElement representing the overscript of the script. This is the second child of a mover or the third child of a munderover; retrieval must return null for an munder.- Specified by:
getOverscriptin interfaceMathMLUnderOverElement- Returns:
- value of the overscript attribute.
-
getUnderscript
public abstract JEuclidElement getUnderscript()
A MathMLElement representing the underscript of the script. This is the second child of a munder or munderover; retrieval must return null for an mover.- Specified by:
getUnderscriptin interfaceMathMLUnderOverElement- Returns:
- value of the underscript attribute.
-
setAccent
public void setAccent(java.lang.String accent)
setter for the accent attribute.- Specified by:
setAccentin interfaceMathMLUnderOverElement- Parameters:
accent- new value for accent.- See Also:
MathMLUnderOverElement.getAccent()
-
setAccentunder
public void setAccentunder(java.lang.String accentunder)
setter for the accentunder attribute.- Specified by:
setAccentunderin interfaceMathMLUnderOverElement- Parameters:
accentunder- new value for accentunder.- See Also:
MathMLUnderOverElement.getAccentunder()
-
setBase
public void setBase(MathMLElement base)
setter for the base attribute.- Specified by:
setBasein interfaceMathMLUnderOverElement- Parameters:
base- new value for base.- See Also:
MathMLUnderOverElement.getBase()
-
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:
hasChildPostscriptsin interfaceJEuclidElement- Overrides:
hasChildPostscriptsin classAbstractJEuclidElement- Parameters:
child- child to testcontext- 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:
layoutStageInvariantin classAbstractJEuclidElement- Parameters:
view- View Object for this layout.info- An info object which will be filled during layout.stage- current layout stage.context- current LayoutContext.
-
-