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.TreeSelectionRedirectorjavax.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, visibleRowCountlistenerList, 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, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCycleprotected 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.JTreepublic void setVisible(boolean v)
setVisible in class javax.swing.JComponentpublic 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()
Destroyabledestroy in interface Destroyablepublic 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)
DataSetListenerprimitivesRemoved in interface DataSetListenerevent - An event for an collection of newly-invisible primitivespublic void primitivesAdded(PrimitivesAddedEvent event)
DataSetListenerprimitivesAdded in interface DataSetListenerevent - An event for an collection of newly-visible primitivespublic void tagsChanged(TagsChangedEvent event)
DataSetListenertagsChanged in interface DataSetListenerevent - the event for the primitive, whose tags were affected.public void nodeMoved(NodeMovedEvent event)
DataSetListenernodeMoved in interface DataSetListenerevent - The event for the node that was moved.public void wayNodesChanged(WayNodesChangedEvent event)
DataSetListenerwayNodesChanged in interface DataSetListenerevent - The event for the way that was modified.public void relationMembersChanged(RelationMembersChangedEvent event)
DataSetListenerrelationMembersChanged in interface DataSetListenerevent - The event for the relation that was modified.public void otherDatasetChange(AbstractDatasetChangedEvent event)
DataSetListenerotherDatasetChange in interface DataSetListenerevent - the event for data modificationpublic void dataChanged(DataChangedEvent event)
DataSetListenerDataSetListener.dataChanged(DataChangedEvent event) is called.dataChanged in interface DataSetListenerevent - data change eventpublic void setResetScheduled()
private boolean filterRemovedPrimitives()