org.lobobrowser.html.gui
public class HtmlBlockPanel extends javax.swing.JComponent implements NodeRenderer, RenderableContainer, java.awt.datatransfer.ClipboardOwner
HtmlBlockPanel
is used by HtmlPanel
whenever the DOM
is determined not to be a FRAMESET.HtmlPanel
,
FrameSetPanel
,
Serialized Formjavax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected java.awt.Insets |
defaultMarginInsets |
protected int |
defaultOverflowX |
protected int |
defaultOverflowY |
protected RenderableSpot |
endSelection |
protected FrameContext |
frameContext |
protected int |
preferredWidth |
protected RBlock |
rblock |
protected HtmlRendererContext |
rcontext |
protected RenderableSpot |
startSelection |
protected UserAgentContext |
ucontext |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
HtmlBlockPanel(java.awt.Color background,
boolean opaque,
UserAgentContext pcontext,
HtmlRendererContext rcontext,
FrameContext frameContext) |
HtmlBlockPanel(UserAgentContext pcontext,
HtmlRendererContext rcontext,
FrameContext frameContext) |
Modifier and Type | Method and Description |
---|---|
java.awt.Component |
addComponent(java.awt.Component component) |
void |
addDelayedPair(DelayedPair pair) |
void |
clearDelayedPairs() |
boolean |
copy() |
void |
doLayout() |
void |
finalize() |
void |
focus() |
java.awt.Insets |
getDefaultMarginInsets() |
int |
getDefaultOverflowX() |
int |
getDefaultOverflowY() |
java.util.Collection |
getDelayedPairs() |
int |
getFirstLineHeight() |
java.awt.Point |
getGUIPoint(int clientX,
int clientY) |
java.awt.Rectangle |
getNodeBounds(org.w3c.dom.Node node,
boolean relativeToScrollable)
Gets the rectangular bounds of the given node.
|
java.awt.Color |
getPaintedBackgroundColor() |
RenderableContainer |
getParentContainer() |
java.awt.Dimension |
getPreferredSize()
If the preferred size has been set with
JComponent.setPreferredSize(Dimension) ,
then that size is returned. |
NodeImpl |
getRootNode() |
BoundableRenderable |
getRootRenderable() |
org.w3c.dom.Node |
getSelectionNode() |
java.lang.String |
getSelectionText() |
boolean |
hasSelection() |
void |
invalidateLayoutUpTree() |
boolean |
isSelectionAvailable() |
void |
lostOwnership(java.awt.datatransfer.Clipboard arg0,
java.awt.datatransfer.Transferable arg1) |
void |
paint(java.awt.Graphics g) |
protected void |
paintChildren(java.awt.Graphics g) |
void |
relayout() |
void |
repaint(ModelNode modelNode)
Implementation of UINode.repaint().
|
protected void |
revalidatePanel() |
void |
scrollBy(int xOffset,
int yOffset) |
void |
scrollTo(org.w3c.dom.Node node)
Scrolls the body area to the node given, if it is
part of the current document.
|
void |
scrollTo(java.awt.Rectangle bounds,
boolean xIfNeeded,
boolean yIfNeeded)
Scrolls the body area to the given location.
|
void |
setDefaultMarginInsets(java.awt.Insets defaultMarginInsets)
Sets the default margin insets.
|
void |
setDefaultOverflowX(int defaultOverflowX) |
void |
setDefaultOverflowY(int defaultOverflowY) |
void |
setPreferredWidth(int width)
Allows
getPreferredSize() to render the HTML block
in order to determine the preferred size of this component. |
void |
setRootNode(NodeImpl node)
Sets the root node to render.
|
void |
setSelectionEnd(RenderableSpot rpoint) |
void |
setSelectionStart(RenderableSpot rpoint) |
void |
updateAllWidgetBounds() |
protected void |
validateAll() |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
repaint
protected final FrameContext frameContext
protected final UserAgentContext ucontext
protected final HtmlRendererContext rcontext
protected RenderableSpot startSelection
protected RenderableSpot endSelection
protected RBlock rblock
protected int preferredWidth
protected java.awt.Insets defaultMarginInsets
protected int defaultOverflowX
protected int defaultOverflowY
public HtmlBlockPanel(UserAgentContext pcontext, HtmlRendererContext rcontext, FrameContext frameContext)
public HtmlBlockPanel(java.awt.Color background, boolean opaque, UserAgentContext pcontext, HtmlRendererContext rcontext, FrameContext frameContext)
public void scrollTo(java.awt.Rectangle bounds, boolean xIfNeeded, boolean yIfNeeded)
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.public void scrollBy(int xOffset, int yOffset)
public void scrollTo(org.w3c.dom.Node node)
This method should be called from the GUI thread.
node
- A DOM node.public java.awt.Rectangle getNodeBounds(org.w3c.dom.Node node, boolean relativeToScrollable)
This method should be called from the GUI thread.
node
- A node in the current document.relativeToScrollable
- Whether the bounds should be relative to the
scrollable body area. Otherwise, they are
relative to the root block (which is the
essentially the same as being relative to this
HtmlBlockPanel
minus Swing
borders).public BoundableRenderable getRootRenderable()
public void setPreferredWidth(int width)
getPreferredSize()
to render the HTML block
in order to determine the preferred size of this component.
Note that getPreferredSize() is a potentially time-consuming
operation if the preferred width is set.
width
- The preferred blocked width. Use -1
to unset.public java.awt.Dimension getPreferredSize()
JComponent.setPreferredSize(Dimension)
,
then that size is returned. Otherwise a preferred size is calculated by
rendering the HTML DOM, provided one is available and a preferred width other
than -1
has been set with setPreferredWidth(int)
.
An arbitrary preferred size is returned in other scenarios.getPreferredSize
in class javax.swing.JComponent
public void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public boolean copy()
public int getFirstLineHeight()
public void setSelectionEnd(RenderableSpot rpoint)
public void setSelectionStart(RenderableSpot rpoint)
public boolean isSelectionAvailable()
public org.w3c.dom.Node getSelectionNode()
public void setRootNode(NodeImpl node)
setRootNode
in interface NodeRenderer
protected void validateAll()
protected void revalidatePanel()
public NodeImpl getRootNode()
public void paint(java.awt.Graphics g)
paint
in class javax.swing.JComponent
public void doLayout()
doLayout
in class java.awt.Container
public void repaint(ModelNode modelNode)
public java.lang.String getSelectionText()
public boolean hasSelection()
protected void paintChildren(java.awt.Graphics g)
paintChildren
in class javax.swing.JComponent
public java.awt.Color getPaintedBackgroundColor()
getPaintedBackgroundColor
in interface RenderableContainer
public void lostOwnership(java.awt.datatransfer.Clipboard arg0, java.awt.datatransfer.Transferable arg1)
lostOwnership
in interface java.awt.datatransfer.ClipboardOwner
public void relayout()
relayout
in interface RenderableContainer
public void invalidateLayoutUpTree()
invalidateLayoutUpTree
in interface RenderableContainer
public void updateAllWidgetBounds()
updateAllWidgetBounds
in interface RenderableContainer
public java.awt.Point getGUIPoint(int clientX, int clientY)
getGUIPoint
in interface RenderableContainer
public void focus()
focus
in interface RenderableContainer
public void addDelayedPair(DelayedPair pair)
addDelayedPair
in interface RenderableContainer
public RenderableContainer getParentContainer()
getParentContainer
in interface RenderableContainer
public java.util.Collection getDelayedPairs()
getDelayedPairs
in interface RenderableContainer
public void clearDelayedPairs()
clearDelayedPairs
in interface RenderableContainer
public java.awt.Component addComponent(java.awt.Component component)
addComponent
in interface RenderableContainer
public java.awt.Insets getDefaultMarginInsets()
public void setDefaultMarginInsets(java.awt.Insets defaultMarginInsets)
defaultMarginInsets
- The default margin insets.public int getDefaultOverflowX()
public void setDefaultOverflowX(int defaultOverflowX)
public int getDefaultOverflowY()
public void setDefaultOverflowY(int defaultOverflowY)