Package org.xhtmlrenderer.swing
Class SwingReplacedElementFactory
- java.lang.Object
-
- org.xhtmlrenderer.swing.SwingReplacedElementFactory
-
- All Implemented Interfaces:
ReplacedElementFactory
public class SwingReplacedElementFactory extends Object implements ReplacedElementFactory
A ReplacedElementFactory where Elements are replaced by Swing components.
-
-
Field Summary
Fields Modifier and Type Field Description protected RepaintListenerrepaintListener
-
Constructor Summary
Constructors Constructor Description SwingReplacedElementFactory()SwingReplacedElementFactory(RepaintListener repaintListener)SwingReplacedElementFactory(RepaintListener listener, ImageResourceLoader irl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddForm(Element e, XhtmlForm f)Adds a form to a local cache for quick lookup.ReplacedElementcreateReplacedElement(LayoutContext context, BlockBox box, UserAgentCallback uac, int cssWidth, int cssHeight)NOTE: Only block equivalent elements can be replaced.protected XhtmlFormgetForm(Element e)Returns the XhtmlForm associated with an Element in cache, or null if not found.protected ElementgetParentForm(Element e, LayoutContext context)protected ReplacedElementlookupImageReplacedElement(Element e, String uri)Retrieves a ReplacedElement for an image from cache, or null if not found.protected ReplacedElementnewIrreplaceableImageElement(int cssWidth, int cssHeight)Returns a ReplacedElement for some element in the stream which should be replaceable, but is not.voidremove(Element e)Removes any reference toElemente.protected ReplacedElementreplaceImage(UserAgentCallback uac, LayoutContext context, Element elem, int cssWidth, int cssHeight)Handles replacement of image elements in the document.voidreset()Clears out any references to elements or items created by this factory so far.voidsetFormSubmissionListener(FormSubmissionListener fsl)Identifies the FSL which will be used for callbacks when a form submit action is executed; you can use aDefaultFormSubmissionListenerif you don't want any action to be taken.protected voidstoreImageReplacedElement(Element e, ReplacedElement cc, String uri, int cssWidth, int cssHeight)Adds a ReplacedElement containing an image to a cache of images for quick lookup.
-
-
-
Field Detail
-
repaintListener
protected final RepaintListener repaintListener
-
-
Constructor Detail
-
SwingReplacedElementFactory
public SwingReplacedElementFactory()
-
SwingReplacedElementFactory
public SwingReplacedElementFactory(RepaintListener repaintListener)
-
SwingReplacedElementFactory
public SwingReplacedElementFactory(RepaintListener listener, ImageResourceLoader irl)
-
-
Method Detail
-
createReplacedElement
public ReplacedElement createReplacedElement(LayoutContext context, BlockBox box, UserAgentCallback uac, int cssWidth, int cssHeight)
Description copied from interface:ReplacedElementFactoryNOTE: Only block equivalent elements can be replaced.- Specified by:
createReplacedElementin interfaceReplacedElementFactorycssWidth- The CSS width of the element in dots (or-1if width isauto)cssHeight- The CSS height of the element in dots (or-1if the height should be treated asauto)- Returns:
- The
ReplacedElementornullif noReplacedElementapplies
-
replaceImage
protected ReplacedElement replaceImage(UserAgentCallback uac, LayoutContext context, Element elem, int cssWidth, int cssHeight)
Handles replacement of image elements in the document. May return the same ReplacedElement for a given image on multiple calls. Image will be automatically scaled to cssWidth and cssHeight assuming these are non-zero positive values. The element is assumed to have a src attribute (e.g. it's an<img>element).- Parameters:
uac- Used to retrieve images on demand from some source.elem- The element with the image referencecssWidth- Target width of the imagecssHeight- Target height of the image @return A ReplacedElement for the image; will not be null.
-
newIrreplaceableImageElement
protected ReplacedElement newIrreplaceableImageElement(int cssWidth, int cssHeight)
Returns a ReplacedElement for some element in the stream which should be replaceable, but is not. This might be the case for an element like img, where the source isn't provided.- Parameters:
cssWidth- Target width for the element.cssHeight- Target height for the element- Returns:
- A ReplacedElement to substitute for one that can't be generated.
-
storeImageReplacedElement
protected void storeImageReplacedElement(Element e, ReplacedElement cc, String uri, int cssWidth, int cssHeight)
Adds a ReplacedElement containing an image to a cache of images for quick lookup.- Parameters:
e- The element under which the image is keyed.cc- The replaced element containing the image, or another ReplacedElement to be used in its place
-
lookupImageReplacedElement
protected ReplacedElement lookupImageReplacedElement(Element e, String uri)
Retrieves a ReplacedElement for an image from cache, or null if not found.- Parameters:
e- The element by which the image is keyed- Returns:
- The ReplacedElement for the image, or null if there is none.
-
addForm
protected void addForm(Element e, XhtmlForm f)
Adds a form to a local cache for quick lookup.- Parameters:
e- The element under which the form is keyed (e.g.<form>in HTML)f- The form element being stored.
-
getForm
protected XhtmlForm getForm(Element e)
Returns the XhtmlForm associated with an Element in cache, or null if not found.- Parameters:
e- The Element to which the form is keyed- Returns:
- The form, or null if not found.
-
getParentForm
protected Element getParentForm(Element e, LayoutContext context)
-
reset
public void reset()
Clears out any references to elements or items created by this factory so far.- Specified by:
resetin interfaceReplacedElementFactory
-
remove
public void remove(Element e)
Description copied from interface:ReplacedElementFactoryRemoves any reference toElemente.- Specified by:
removein interfaceReplacedElementFactory
-
setFormSubmissionListener
public void setFormSubmissionListener(FormSubmissionListener fsl)
Description copied from interface:ReplacedElementFactoryIdentifies the FSL which will be used for callbacks when a form submit action is executed; you can use aDefaultFormSubmissionListenerif you don't want any action to be taken.- Specified by:
setFormSubmissionListenerin interfaceReplacedElementFactory- Parameters:
fsl- the listener instance to receive callbacks on form submission.
-
-