|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTree
com.virtualweaver.xotics.editing.renderer.XoTreeRenderer
This is the abstract class of a renderer representing an XML document as a tree. It can be derived to implement specific rendering. It manages DnD and reflects automatically rendered document changes. This class and derived are examples of renderer implementation.
Nested Class Summary |
Nested classes inherited from class javax.swing.JTree |
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector |
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.JTree |
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount |
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 | |
XoTreeRenderer()
An XoDMRenderer class must have a constructor with no argument, as Xotics Editor instanciates
it automatically. |
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)
|
abstract XoNodeCellRenderer |
createNodeCellRenderer(com.virtualweaver.xotics.datamodel.XoNode node)
This method must return an AWT component implementing XoNodeCellRenderer interface, used to
render specific node param node . |
void |
dragDropEnd(java.awt.dnd.DragSourceDropEvent dragSourceDropEvent)
|
void |
dragEnter(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
|
void |
dragExit(java.awt.dnd.DragSourceEvent dragSourceEvent)
|
void |
dragGestureRecognized(java.awt.dnd.DragGestureEvent e)
|
abstract void |
dragGestureRecognized(java.awt.dnd.DragGestureEvent e,
com.virtualweaver.xotics.datamodel.XoNode target)
This method is called when a drag gesture is recognized on a node of document rendered, to let implementation choose whether and how to start a DnD process. |
void |
dragOver(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
|
void |
dropActionChanged(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
|
com.virtualweaver.xotics.datamodel.XoDMInstance |
getDMInstance()
Returns document currently rendered. |
int |
getRowHeight()
|
com.virtualweaver.xotics.datamodel.XoNode |
getSelected()
Returns currently selected node in the renderer. |
protected boolean |
isDisplayDocumentRoot()
Tells whether to represent the document root (i.e XoDMInstance ) as the root of the tree. |
boolean |
isFixedRowHeight()
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
|
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 n)
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.
|
protected void |
setDisplayDocumentRoot(boolean displayDocumentRoot)
Tells whether to represent the document root (i.e XoDMInstance ) as the root of the tree. |
void |
setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance dm)
Sets the document to render. |
void |
setRowHeight(int rh)
|
Methods inherited from class javax.swing.JTree |
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, 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, 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 |
public XoTreeRenderer()
XoDMRenderer
class must have a constructor with no argument, as Xotics Editor instanciates
it automatically.
Method Detail |
public boolean isFixedRowHeight()
public void setRowHeight(int rh)
public int getRowHeight()
public abstract XoNodeCellRenderer createNodeCellRenderer(com.virtualweaver.xotics.datamodel.XoNode node)
XoNodeCellRenderer
interface, used to
render specific node param node
. This method is called for each node of type
XoDMInstance
and XoObject
in the document rendered. It must return a new
instance of XoNodeCellRenderer
at each call.
node
- the node to render
node
parampublic abstract void dragGestureRecognized(java.awt.dnd.DragGestureEvent e, com.virtualweaver.xotics.datamodel.XoNode target)
Transferable
object containing target
param,
provided node is an XoObject
, then call e.startDrag()
method.
If it's an XoDMInstance
this method should not start DnD process.
This method can also do nothing if DnD start from this renderer is not allowed.
e
- DnD drag gesture eventtarget
- node on which drag gesture is recognized (correspond typically to an attempt to move
this node).protected boolean isDisplayDocumentRoot()
XoDMInstance
) as the root of the tree.
this
hides document root.protected void setDisplayDocumentRoot(boolean displayDocumentRoot)
XoDMInstance
) as the root of the tree.
displayDocumentRoot
- true if this renderer must represent document root,
false if this
must hide document root.public void addDropTargetListener(java.awt.dnd.DropTargetListener dtl) throws java.util.TooManyListenersException
XoDMRenderer
addDropTargetListener
in interface XoDMRenderer
dtl
- a drop listener provided by Xotics Editor
java.util.TooManyListenersException
XoDMRenderer.addDropTargetListener(java.awt.dnd.DropTargetListener)
public void addXoDMEditListener(XoDMEditListener l)
XoDMRenderer
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.
addXoDMEditListener
in interface XoDMRenderer
l
- an edit event listener to add.XoDMRenderer.addXoDMEditListener(com.virtualweaver.xotics.editing.event.XoDMEditListener)
public com.virtualweaver.xotics.datamodel.XoDMInstance getDMInstance()
XoDMRenderer
getDMInstance
in interface XoDMRenderer
XoDMRenderer.getDMInstance()
public com.virtualweaver.xotics.datamodel.XoNode getSelected()
XoDMRenderer
getSelected
in interface XoDMRenderer
XoDMRenderer.getSelected()
public void removeDropTargetListener(java.awt.dnd.DropTargetListener dtl)
XoDMRenderer
XoDMRenderer.addDropTargetListener(DropTargetListener)
.
removeDropTargetListener
in interface XoDMRenderer
dtl
- a drop listener to remove, previously provided by Xotics EditorXoDMRenderer.removeDropTargetListener(java.awt.dnd.DropTargetListener)
public void removeXoDMEditListener(XoDMEditListener l)
XoDMRenderer
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.
removeXoDMEditListener
in interface XoDMRenderer
l
- an edit event listener to remove.XoDMRenderer.removeXoDMEditListener(com.virtualweaver.xotics.editing.event.XoDMEditListener)
public void select(com.virtualweaver.xotics.datamodel.XoNode n)
XoDMRenderer
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
.
select
in interface XoDMRenderer
n
- the new selected node, can be null to mean "unselect".XoDMRenderer.select(com.virtualweaver.xotics.datamodel.XoNode)
public void selectOver(int x, int y)
XoDMRenderer
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
.
selectOver
in interface XoDMRenderer
x
- x position of a node to selecty
- y position of a node to selectXoDMRenderer.selectOver(int, int)
public void setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance dm)
XoDMRenderer
setDMInstance
in interface XoDMRenderer
dm
- the DM instance representing an XML document to render.XoDMRenderer.setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance)
public void childAdded(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
childAdded
in interface com.virtualweaver.xotics.datamodel.event.XoContainerListener
public void childRemoved(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
childRemoved
in interface com.virtualweaver.xotics.datamodel.event.XoContainerListener
public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange
in interface java.beans.PropertyChangeListener
public void dragGestureRecognized(java.awt.dnd.DragGestureEvent e)
dragGestureRecognized
in interface java.awt.dnd.DragGestureListener
public void dragDropEnd(java.awt.dnd.DragSourceDropEvent dragSourceDropEvent)
dragDropEnd
in interface java.awt.dnd.DragSourceListener
public void dragEnter(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
dragEnter
in interface java.awt.dnd.DragSourceListener
public void dragExit(java.awt.dnd.DragSourceEvent dragSourceEvent)
dragExit
in interface java.awt.dnd.DragSourceListener
public void dragOver(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
dragOver
in interface java.awt.dnd.DragSourceListener
public void dropActionChanged(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
dropActionChanged
in interface java.awt.dnd.DragSourceListener
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |