public class ValidatorTreePanel extends javax.swing.JTree implements Destroyable, DataSetListener
Modifier and Type | Class and Description |
---|---|
private static class |
ValidatorTreePanel.GroupTreeNode |
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DropLocation, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private java.util.List<TestError> |
errors
The list of errors shown in the tree, normally identical to field validationErrors in current edit layer
|
private java.util.Set<? extends OsmPrimitive> |
filter
If
filter is not null only errors are displayed
that refer to one of the primitives in the filter. |
private ListenerList<java.lang.Runnable> |
invalidationListeners |
private boolean |
resetScheduled
if true, buildTree() does nothing
|
protected javax.swing.tree.DefaultTreeModel |
valTreeModel
The validation data.
|
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
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ValidatorTreePanel()
Constructor
|
ValidatorTreePanel(java.util.List<TestError> errors)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addInvalidationListener(java.lang.Runnable listener)
Add a new invalidation listener
|
private static java.lang.String |
addSize(java.lang.String msg,
java.util.Collection<?> coll) |
void |
buildTree()
Builds the errors tree
|
void |
buildTree(boolean expandAgain)
Builds the errors tree
|
void |
dataChanged(DataChangedEvent event)
Called after big changes in dataset.
|
void |
destroy()
Called when the object has been destroyed.
|
void |
expandAll()
Expands complete tree
|
private boolean |
filterRemovedPrimitives()
Remove errors which refer to removed or purged primitives.
|
java.util.List<TestError> |
getErrors()
Returns the errors of the tree
|
java.util.Set<? extends OsmPrimitive> |
getFilter()
Returns the filter list
|
javax.swing.tree.DefaultMutableTreeNode |
getRoot()
Returns the root node model.
|
java.lang.String |
getToolTipText(java.awt.event.MouseEvent e) |
void |
nodeMoved(NodeMovedEvent event)
A node's coordinates were modified.
|
void |
otherDatasetChange(AbstractDatasetChangedEvent event)
Minor dataset change, currently only changeset id changed is supported, but can
be extended in future.
|
void |
primitivesAdded(PrimitivesAddedEvent event)
A bunch of primitives were added into the DataSet, or existing
deleted/invisible primitives were resurrected.
|
void |
primitivesRemoved(PrimitivesRemovedEvent event)
A bunch of primitives were removed from the DataSet, or preexisting
primitives were marked as deleted.
|
void |
relationMembersChanged(RelationMembersChangedEvent event)
A relation's members have changed.
|
void |
removeInvalidationListener(java.lang.Runnable listener)
Remove an invalidation listener
|
private static java.lang.String |
removeSize(java.lang.String msg) |
void |
resetErrors()
Updates the current errors list
|
void |
selectRelatedErrors(java.util.Collection<OsmPrimitive> primitives)
Selects all errors related to the specified
primitives , i.e. |
void |
setErrorList(java.util.List<TestError> errors)
Sets the errors list used by a data layer
|
void |
setErrors(java.util.List<TestError> newerrors)
Clears the current error list and adds these errors to it
|
void |
setFilter(java.util.Set<? extends OsmPrimitive> filter)
Set the filter list to a set of primitives
|
void |
setResetScheduled()
Can be called to suppress execution of buildTree() while doing multiple updates.
|
void |
setVisible(boolean v) |
void |
tagsChanged(TagsChangedEvent event)
There was some change in the tag set of a primitive.
|
static void |
visitTestErrors(javax.swing.tree.DefaultMutableTreeNode root,
java.util.function.Consumer<TestError> visitor)
Visitor call for all
TestError nodes children of root, in breadth-first order. |
static void |
visitTestErrors(javax.swing.tree.DefaultMutableTreeNode root,
java.util.function.Consumer<TestError> visitor,
java.util.Set<javax.swing.tree.DefaultMutableTreeNode> processedNodes)
Visitor call for all
TestError nodes children of root, in breadth-first order. |
static void |
visitTreeNodes(javax.swing.tree.DefaultMutableTreeNode root,
java.util.function.Consumer<javax.swing.tree.DefaultMutableTreeNode> visitor)
Visitor call for all tree nodes children of root, in breadth-first order.
|
private void |
walkAndSelectRelatedErrors(javax.swing.tree.TreePath p,
java.util.function.Predicate<OsmPrimitive> isRelevant,
java.util.Collection<javax.swing.tree.TreePath> paths) |
void |
wayNodesChanged(WayNodesChangedEvent event)
A way's node list was changed.
|
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, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, 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, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, 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, 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
protected javax.swing.tree.DefaultTreeModel valTreeModel
private transient java.util.List<TestError> errors
private transient java.util.Set<? extends OsmPrimitive> filter
filter
is not null
only errors are displayed
that refer to one of the primitives in the filter.private final transient ListenerList<java.lang.Runnable> invalidationListeners
private boolean resetScheduled
public ValidatorTreePanel(java.util.List<TestError> errors)
errors
- The list of errorspublic ValidatorTreePanel()
public java.lang.String getToolTipText(java.awt.event.MouseEvent e)
getToolTipText
in class javax.swing.JTree
public void setVisible(boolean v)
setVisible
in class javax.swing.JComponent
public void buildTree()
public void buildTree(boolean expandAgain)
expandAgain
- if true, try to expand the same rows as beforeprivate static java.lang.String addSize(java.lang.String msg, java.util.Collection<?> coll)
private static java.lang.String removeSize(java.lang.String msg)
public void addInvalidationListener(java.lang.Runnable listener)
listener
- The listenerpublic void removeInvalidationListener(java.lang.Runnable listener)
listener
- The listenerpublic final void setErrorList(java.util.List<TestError> errors)
errors
- The error list that is used by a data layerpublic void setErrors(java.util.List<TestError> newerrors)
newerrors
- The validation errorspublic java.util.List<TestError> getErrors()
public void selectRelatedErrors(java.util.Collection<OsmPrimitive> primitives)
primitives
, i.e. where TestError.getPrimitives()
returns a primitive present in primitives
.primitives
- collection of primitivesprivate void walkAndSelectRelatedErrors(javax.swing.tree.TreePath p, java.util.function.Predicate<OsmPrimitive> isRelevant, java.util.Collection<javax.swing.tree.TreePath> paths)
public java.util.Set<? extends OsmPrimitive> getFilter()
public void setFilter(java.util.Set<? extends OsmPrimitive> filter)
filter
- the list of primitives used for filteringpublic void resetErrors()
public void expandAll()
public javax.swing.tree.DefaultMutableTreeNode getRoot()
public void destroy()
Destroyable
destroy
in interface Destroyable
public static void visitTreeNodes(javax.swing.tree.DefaultMutableTreeNode root, java.util.function.Consumer<javax.swing.tree.DefaultMutableTreeNode> visitor)
root
- Root nodevisitor
- Visitorpublic static void visitTestErrors(javax.swing.tree.DefaultMutableTreeNode root, java.util.function.Consumer<TestError> visitor)
TestError
nodes children of root, in breadth-first order.root
- Root nodevisitor
- Visitorpublic static void visitTestErrors(javax.swing.tree.DefaultMutableTreeNode root, java.util.function.Consumer<TestError> visitor, java.util.Set<javax.swing.tree.DefaultMutableTreeNode> processedNodes)
TestError
nodes children of root, in breadth-first order.root
- Root nodevisitor
- VisitorprocessedNodes
- Set of already visited nodes (optional)public void primitivesRemoved(PrimitivesRemovedEvent event)
DataSetListener
primitivesRemoved
in interface DataSetListener
event
- An event for an collection of newly-invisible primitivespublic void primitivesAdded(PrimitivesAddedEvent event)
DataSetListener
primitivesAdded
in interface DataSetListener
event
- An event for an collection of newly-visible primitivespublic void tagsChanged(TagsChangedEvent event)
DataSetListener
tagsChanged
in interface DataSetListener
event
- the event for the primitive, whose tags were affected.public void nodeMoved(NodeMovedEvent event)
DataSetListener
nodeMoved
in interface DataSetListener
event
- The event for the node that was moved.public void wayNodesChanged(WayNodesChangedEvent event)
DataSetListener
wayNodesChanged
in interface DataSetListener
event
- The event for the way that was modified.public void relationMembersChanged(RelationMembersChangedEvent event)
DataSetListener
relationMembersChanged
in interface DataSetListener
event
- The event for the relation that was modified.public void otherDatasetChange(AbstractDatasetChangedEvent event)
DataSetListener
otherDatasetChange
in interface DataSetListener
event
- the event for data modificationpublic void dataChanged(DataChangedEvent event)
DataSetListener
DataSetListener.dataChanged(DataChangedEvent event)
is called.dataChanged
in interface DataSetListener
event
- data change eventpublic void setResetScheduled()
private boolean filterRemovedPrimitives()