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:
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,Element,EventTarget,MathMLElement,MathMLPresentationElement,MathMLUnderOverElement,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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.batik.dom.AbstractElement
org.apache.batik.dom.AbstractElement.ElementTypeInfo, org.apache.batik.dom.AbstractElement.Entry, org.apache.batik.dom.AbstractElement.NamedNodeHashMapNested classes/interfaces inherited from class org.apache.batik.dom.AbstractParentNode
org.apache.batik.dom.AbstractParentNode.ChildNodes, org.apache.batik.dom.AbstractParentNode.ElementsByTagName, org.apache.batik.dom.AbstractParentNode.ElementsByTagNameNS -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringattribute for accent property.static final Stringattribute for accentunder property.static final floatSpace for non-accents multiplied by this value.static final StringSpace 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, URIFields inherited from class org.apache.batik.dom.GenericElementNS
nodeName, readonlyFields inherited from class org.apache.batik.dom.AbstractElementNS
namespaceURIFields inherited from class org.apache.batik.dom.AbstractElement
attributes, typeInfoFields inherited from class org.apache.batik.dom.AbstractParentChildNode
nextSibling, parentNode, previousSiblingFields inherited from class org.apache.batik.dom.AbstractParentNode
childNodesFields 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, userDataHandlersFields 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
ConstructorsConstructorDescriptionAbstractUnderOver(String qname, org.apache.batik.dom.AbstractDocument odoc) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionEither 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 booleanreturns the accent property as boolean.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 booleanreturns the accentunder property as boolean.getBase()A MathMLElement representing the base of the script.getChildLayoutContext(int childNum, LayoutContext context) get the layout context for the given child.abstract JEuclidElementA MathMLElement representing the overscript of the script.abstract JEuclidElementA 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.voidsetter for the accent attribute.voidsetAccentunder(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, setXrefMethods inherited from class org.apache.batik.dom.GenericElementNS
copyInto, deepCopyInto, deepExport, export, getNodeName, isReadonly, newNode, setNodeName, setReadonlyMethods inherited from class org.apache.batik.dom.AbstractElementNS
getNamespaceURIMethods 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, setIdAttributeNSMethods inherited from class org.apache.batik.dom.AbstractParentChildNode
getNextSibling, getParentNode, getPreviousSibling, setNextSibling, setParentNode, setPreviousSiblingMethods inherited from class org.apache.batik.dom.AbstractParentNode
appendChild, checkAndRemove, fireDOMNodeInsertedEvent, fireDOMNodeInsertedIntoDocumentEvent, fireDOMNodeRemovedEvent, fireDOMNodeRemovedFromDocumentEvent, fireDOMSubtreeModifiedEvent, getChildNodes, getElementsByTagName, getElementsByTagNameNS, getFirstChild, getLastChild, getTextContent, hasChildNodes, insertBefore, removeChild, replaceChildMethods 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, willTriggerNSMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, setIdAttributeNSMethods inherited from interface org.w3c.dom.mathml.MathMLElement
getClassName, getHref, getId, getMathElementStyle, getOwnerMathElement, getXref, setClassName, setHref, setId, setMathElementStyle, setXrefMethods inherited from interface org.w3c.dom.mathml.MathMLUnderOverElement
setOverscript, setUnderscriptMethods 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 Details
-
UNDER_OVER_SPACE
Space between base and under/over for accents.- See Also:
-
NON_ACCENT_MULTIPLIER
public static final float NON_ACCENT_MULTIPLIERSpace for non-accents multiplied by this value.- See Also:
-
ATTR_ACCENT
attribute for accent property.- See Also:
-
ATTR_ACCENTUNDER
attribute for accentunder property.- See Also:
-
-
Constructor Details
-
AbstractUnderOver
Default constructor. Sets MathML Namespace.- Parameters:
qname- Qualified name.odoc- Owner Document.
-
-
Method Details
-
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
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
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
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
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
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
setter for the accent attribute.- Specified by:
setAccentin interfaceMathMLUnderOverElement- Parameters:
accent- new value for accent.- See Also:
-
setAccentunder
setter for the accentunder attribute.- Specified by:
setAccentunderin interfaceMathMLUnderOverElement- Parameters:
accentunder- new value for accentunder.- See Also:
-
setBase
setter for the base attribute.- Specified by:
setBasein interfaceMathMLUnderOverElement- Parameters:
base- new value for base.- See Also:
-
hasChildPostscripts
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.
-