com.virtualweaver.xotics.editing.renderer
Class XoPathRenderer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.virtualweaver.xotics.editing.renderer.XoPathRenderer
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, com.virtualweaver.xotics.datamodel.event.XoContainerListener, XoDMRenderer

public class XoPathRenderer
extends javax.swing.JPanel
implements XoDMRenderer, com.virtualweaver.xotics.datamodel.event.XoContainerListener

This renderer displays the path to selected element of a document, as a kind of toolbar containing one button per element in the path.

Version:
4.1
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
XoPathRenderer()
           
 
Method Summary
 void addDropTargetListener(java.awt.dnd.DropTargetListener dtl)
          Xotics Editor manages DnD feature between renderers to add, move or remove nodes.
 void addXoDMEditListener(XoDMEditListener l)
          Renderer can send an XoDMEditEvent when node is selected by an external way (any other way than select(XoNode) and selectOver(int, int)).
 void childAdded(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
           
 void childRemoved(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
           
 com.virtualweaver.xotics.datamodel.XoDMInstance getDMInstance()
          Returns document currently rendered.
 com.virtualweaver.xotics.datamodel.XoNode getSelected()
          Returns currently selected node in the renderer.
 void removeDropTargetListener(java.awt.dnd.DropTargetListener dtl)
          Opposite method of addDropTargetListener(DropTargetListener).
 void removeXoDMEditListener(XoDMEditListener l)
          Renderer can send an XoDMEditEvent when node is selected by an external way (any other way than select(XoNode) and selectOver(int, int)).
 void select(com.virtualweaver.xotics.datamodel.XoNode o)
          Forces the renderer to select a specific node xo.
 void selectOver(int x, int y)
          Forces the renderer to select (if possible) the closest node to position defined by (x, y) params.
 void setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance dm)
          Sets the document to render.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XoPathRenderer

public XoPathRenderer()
Method Detail

addDropTargetListener

public void addDropTargetListener(java.awt.dnd.DropTargetListener dtl)
                           throws java.util.TooManyListenersException
Description copied from interface: XoDMRenderer
Xotics Editor manages DnD feature between renderers to add, move or remove nodes. By this method, The Editor provides to the renderer a listener to be informed of drop operation over it. A renderer can choose to support or not DnD feature.

Specified by:
addDropTargetListener in interface XoDMRenderer
Parameters:
dtl - a drop listener provided by Xotics Editor
Throws:
java.util.TooManyListenersException

addXoDMEditListener

public void addXoDMEditListener(XoDMEditListener l)
Description copied from interface: XoDMRenderer
Renderer can send an XoDMEditEvent when node is selected by an external way (any other way than XoDMRenderer.select(XoNode) and XoDMRenderer.selectOver(int, int)). This method registers a listener interested in such events.

Specified by:
addXoDMEditListener in interface XoDMRenderer
Parameters:
l - an edit event listener to add.

getDMInstance

public com.virtualweaver.xotics.datamodel.XoDMInstance getDMInstance()
Description copied from interface: XoDMRenderer
Returns document currently rendered.

Specified by:
getDMInstance in interface XoDMRenderer
Returns:
DM instance as rendered document.

getSelected

public com.virtualweaver.xotics.datamodel.XoNode getSelected()
Description copied from interface: XoDMRenderer
Returns currently selected node in the renderer. A null value means that there is currently no selected node.

Specified by:
getSelected in interface XoDMRenderer
Returns:
the currently selected node, or null if there is no selected node.

removeDropTargetListener

public void removeDropTargetListener(java.awt.dnd.DropTargetListener dtl)
Description copied from interface: XoDMRenderer
Opposite method of XoDMRenderer.addDropTargetListener(DropTargetListener).

Specified by:
removeDropTargetListener in interface XoDMRenderer
Parameters:
dtl - a drop listener to remove, previously provided by Xotics Editor

removeXoDMEditListener

public void removeXoDMEditListener(XoDMEditListener l)
Description copied from interface: XoDMRenderer
Renderer can send an XoDMEditEvent when node is selected by an external way (any other way than XoDMRenderer.select(XoNode) and XoDMRenderer.selectOver(int, int)). This method unregisters a listener interested in such events.

Specified by:
removeXoDMEditListener in interface XoDMRenderer
Parameters:
l - an edit event listener to remove.

select

public void select(com.virtualweaver.xotics.datamodel.XoNode o)
Description copied from interface: XoDMRenderer
Forces the renderer to select a specific node xo. This node can belongs to another DM instance than currently rendered one, or can be unselectable by this renderer because it doesn't render such node ; in these cases, like in any other case where xo is not renderable, currently selected node must be set to null, in order for XoDMRenderer.getSelected() to return null. This method must not fire any XoDMEditEvent.

Specified by:
select in interface XoDMRenderer
Parameters:
o - the new selected node, can be null to mean "unselect".

selectOver

public void selectOver(int x,
                       int y)
Description copied from interface: XoDMRenderer
Forces the renderer to select (if possible) the closest node to position defined by (x, y) params. If there is no node near the position, currently selected node must be set to null, in order for XoDMRenderer.getSelected() to return null. This method must not fire any XoDMEditEvent.

Specified by:
selectOver in interface XoDMRenderer
Parameters:
x - x position of a node to select
y - y position of a node to select

setDMInstance

public void setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance dm)
Description copied from interface: XoDMRenderer
Sets the document to render. This method can be called at any time for different documents.

Specified by:
setDMInstance in interface XoDMRenderer
Parameters:
dm - the DM instance representing an XML document to render.

childAdded

public void childAdded(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
Specified by:
childAdded in interface com.virtualweaver.xotics.datamodel.event.XoContainerListener

childRemoved

public void childRemoved(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
Specified by:
childRemoved in interface com.virtualweaver.xotics.datamodel.event.XoContainerListener