addSelectionChangeListener
public void addSelectionChangeListener(SelectionChangeListener listener)
Adds listener of selection changes. Note that it does
not have any effect on FRAMESETs.
clearDocument
public void clearDocument()
Clears the current document if any.
If called outside the GUI thread, the operation
will be scheduled to be performed in the GUI
thread.
copy
public boolean copy()
Copies the current selection, if any, into the clipboard.
This method has no effect in FRAMESETs at the moment.
createFrameSetPanel
protected FrameSetPanel createFrameSetPanel()
Method invoked internally to create a
FrameSetPanel
.
It is made available so it can be overridden.
delayedRelayout
public void delayedRelayout(NodeImpl node)
Invalidates the layout of the given node and schedules it
to be layed out later. Multiple invalidations may be
processed in a single document layout.
- delayedRelayout in interface FrameContext
expandSelection
public void expandSelection(RenderableSpot rpoint)
Internal method used to expand the selection to the given point.
Note: This method should be invoked in the GUI thread.
- expandSelection in interface FrameContext
getBlockRenderable
public BoundableRenderable getBlockRenderable()
Gets the root Renderable
of
the HTML block. It returns null
for FRAMESETs.
getFrameSetPanel
public FrameSetPanel getFrameSetPanel()
Gets an instance of
FrameSetPanel
in case
the currently rendered page is a FRAMESET.
Note: This method should be invoked in the GUI thread.
- A
FrameSetPanel
instance or null
if the document currently rendered is not a FRAMESET.
getRootNode
public NodeImpl getRootNode()
Gets the HTML DOM node currently rendered if any.
getSelectionNode
public org.w3c.dom.Node getSelectionNode()
Gets a DOM node enclosing the selection. The node returned should
be the inner-most node that encloses both selection start and end
points. Note that the selection end point may be just outside of
the selection.
Note: This method should be invoked in the GUI thread.
- A node enclosing the current selection, or
null
if there is no such node. It also returns null
for FRAMESETs.
getSelectionText
public String getSelectionText()
Gets the selection text.
Note: This method should be invoked in the GUI thread.
hasSelection
public boolean hasSelection()
Returns true only if the current block has a selection.
This method has no effect in FRAMESETs at the moment.
removeSelectionChangeListener
public void removeSelectionChangeListener(SelectionChangeListener listener)
Removes a listener of selection changes that was
previously added.
resetSelection
public void resetSelection(RenderableSpot rpoint)
Internal method used to reset the selection so that
it is empty at the given point. This is what is called
when the user clicks on a point in the document.
Note: This method should be invoked in the GUI thread.
- resetSelection in interface FrameContext
scroll
public void scroll(int x,
int y)
Scrolls the document such that x and y coordinates
are placed in the upper-left corner of the panel.
This method may be called outside of the GUI Thread.
x
- The x coordinate.y
- The y coordinate.
scrollTo
public void scrollTo(Rectangle bounds,
boolean xIfNeeded,
boolean yIfNeeded)
If the current document is not a FRAMESET,
this method scrolls the body area to the given location.
This method should be called from the GUI thread.
bounds
- The bounds in the scrollable block area that should
become visible.xIfNeeded
- If this parameter is true, scrolling will only occur if the
requested bounds are not currently visible horizontally.yIfNeeded
- If this parameter is true, scrolling will only occur if the
requested bounds are not currently visible vertically.
scrollTo
public void scrollTo(org.w3c.dom.Node node)
Scrolls the body area to the node given, if it is
part of the current document.
This method should be called from the GUI thread.
scrollToElement
public void scrollToElement(String nameOrId)
Scrolls to the element identified by the given ID in
the current document.
If this method is invoked outside the GUI thread,
the operation is scheduled to be performed as soon
as possible in the GUI thread.
nameOrId
- The name or ID of the element in the document.
setDocument
public void setDocument(Document node,
HtmlRendererContext rcontext)
Sets an HTML DOM node and invalidates the component so it is
rendered as soon as possible in the GUI thread.
If this method is called from a thread that is not the GUI
dispatch thread, the document is scheduled to be set later.
Note that
preferred size
calculations should be done in the GUI dispatch thread for
this reason.
node
- This should
normally be a Document instance obtained with
DocumentBuilderImpl
.
rcontext
- A renderer context.
setHtml
public void setHtml(String htmlSource,
String uri,
HtmlRendererContext rcontext)
Renders HTML given as a string.
htmlSource
- The HTML source code.uri
- A base URI used to resolve item URIs.rcontext
- The HtmlRendererContext
instance.
setPreferredWidth
public void setPreferredWidth(int width)
Sets a preferred width that serves as a hint in calculating
the preferred size of the
HtmlPanel
. Note that
the preferred size can only be calculated when a document is
available, and it will vary during incremental rendering.
This method currently does not have any effect when the
document is a FRAMESET.
Note also that setting the preferred width (to a value other
than
-1
) will negatively impact performance.
width
- The preferred width, or -1
to unset.