public class ContainerTree
extends javax.swing.JTree
| Modifier and Type | Class and Description |
|---|---|
private static class |
ContainerTree.NodeRenderer |
class |
ContainerTree.WidgetWrapper
Wrapper class to help store
Widget references
in the tree component. |
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.awt.event.ActionListener |
actionListener
Event listener.
|
private Container<?> |
container
The root container.
|
private java.lang.Iterable<java.lang.String> |
inclusions
The property table inclusion strings.
|
private boolean |
showFullClassName
Full class names flag.
|
private boolean |
showLegacyOnly
Show legacy only flag.
|
private PropertyTable |
table
Related property table components.
|
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 |
|---|
ContainerTree(Container<?> container,
PropertyTable table)
The constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private javax.swing.tree.DefaultMutableTreeNode |
buildTreeModel(Container<?> container,
javax.swing.tree.DefaultMutableTreeNode parent)
The worker method responsible for building the tree nodes in the tree component.
|
private java.lang.String |
buildWidgetQualifier(Widget<?> widget)
Build widget qualifier uniquely identifying its position
in the object tree.
|
void |
collapseAll()
Collapse all tree nodes.
|
void |
copyPropertiesToClipboard()
Copies the filtered properties to system clipboard recursively starting
from the selected node.
|
private void |
dumpProperties(java.util.List<Widget<?>> widgets,
java.lang.StringBuilder sb)
Recursively dumps widget properties to the passed-in string builder.
|
void |
expandAll()
Expand all tree nodes.
|
private void |
expandRows(java.util.List<javax.swing.tree.TreePath> paths)
Expand the supplied tree paths.
|
private static java.util.SortedMap<java.lang.String,java.lang.Object> |
filterProperties(java.util.SortedMap<java.lang.String,java.lang.Object> props,
java.lang.Iterable<java.lang.String> inclusions)
Filters the passed in map of properties.
|
javax.swing.tree.TreePath |
findNode(Widget<?> subject)
Returns the related tree path for the supplied widget.
|
private java.util.List<javax.swing.tree.TreePath> |
findNodes(java.util.List<Widget<?>> subjects)
Finds tree paths for the supplied list of widgets.
|
private void |
findNodes(javax.swing.tree.TreeModel model,
java.lang.Object node,
java.util.List<Widget<?>> subjects,
java.util.List<javax.swing.tree.TreePath> output)
Recursively finds tree paths for the supplied list of widgets.
|
private java.lang.String |
formatValue(java.lang.Object obj)
Formats the supplied reference into a string.
|
private java.lang.String |
formatWidget(Widget<?> widget)
Formats the supplied reference into a string.
|
private void |
getAllFields(java.util.Map<java.lang.String,java.lang.Object> result,
java.lang.String namespace,
java.lang.Object ref)
Gathers all
ref's fields and puts them into result. |
private java.util.List<Widget<?>> |
getExpandedWidgets()
Returns the list of expanded widgets in the tree.
|
Widget<?> |
getSelectedWidget()
Returns widget selected in the tree.
|
private java.util.SortedMap<java.lang.String,java.lang.Object> |
getWidgetProperties(Widget<?> widget,
java.lang.Iterable<java.lang.String> inclusions)
Builds map of properties to display in the property table.
|
boolean |
isSelected(Widget<?> widget)
Checks whether the supplied node is selected.
|
boolean |
isShowFullClassName()
Returns the state of show full class names flag.
|
void |
refresh()
Refreshes (rebuilds) the tree nodes.
|
void |
refreshPropertyTable()
Refreshes the property table associated with this tree component.
|
void |
setActionListener(java.awt.event.ActionListener actionListener)
Sets the event listener.
|
void |
setPropertyInclusions(java.lang.Iterable<java.lang.String> inclusions)
Setter for the property inclusions.
|
void |
setShowFullClassName(boolean showFullClassName)
Sets the state of show full class names flag.
|
void |
setShowLegacyOnly(boolean showLegacyOnly)
Sets the state of show legacy only flag.
|
private javax.swing.tree.DefaultMutableTreeNode |
sortNodes(javax.swing.tree.DefaultMutableTreeNode node)
Sorts the tree nodes.
|
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, getToolTipText, 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, setVisible, 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, transferFocusUpCycleprivate boolean showFullClassName
private boolean showLegacyOnly
private java.awt.event.ActionListener actionListener
private PropertyTable table
private java.lang.Iterable<java.lang.String> inclusions
private Container<?> container
public ContainerTree(Container<?> container, PropertyTable table)
container - The root container.table - The related property table component.public void setActionListener(java.awt.event.ActionListener actionListener)
actionListener - Valid ActionListener reference.public boolean isShowFullClassName()
public void setShowFullClassName(boolean showFullClassName)
showFullClassName - The show full class name flag.public void setShowLegacyOnly(boolean showLegacyOnly)
showLegacyOnly - The show legacy only flag.public void setPropertyInclusions(java.lang.Iterable<java.lang.String> inclusions)
inclusions - The setter value.public void refresh()
public void refreshPropertyTable()
public void collapseAll()
public void expandAll()
public javax.swing.tree.TreePath findNode(Widget<?> subject)
subject - The Widget reference.TreePath instance or null if not found.public boolean isSelected(Widget<?> widget)
widget - The Widget reference.true if selected, false otherwise.public Widget<?> getSelectedWidget()
null.public void copyPropertiesToClipboard()
private void dumpProperties(java.util.List<Widget<?>> widgets, java.lang.StringBuilder sb)
widgets - The widgets from where (including) to start dumping the properties.sb - A valid string builder reference.private java.lang.String buildWidgetQualifier(Widget<?> widget)
widget - A valid widget reference.private javax.swing.tree.DefaultMutableTreeNode buildTreeModel(Container<?> container, javax.swing.tree.DefaultMutableTreeNode parent)
container - The root container.parent - The parent node where the built nodes will be added to.private javax.swing.tree.DefaultMutableTreeNode sortNodes(javax.swing.tree.DefaultMutableTreeNode node)
node - The tree node where to start the sort.private java.util.List<Widget<?>> getExpandedWidgets()
private void expandRows(java.util.List<javax.swing.tree.TreePath> paths)
paths - List of tree paths.private java.util.List<javax.swing.tree.TreePath> findNodes(java.util.List<Widget<?>> subjects)
subjects - List of Widget references.TreePath references.private void findNodes(javax.swing.tree.TreeModel model,
java.lang.Object node,
java.util.List<Widget<?>> subjects,
java.util.List<javax.swing.tree.TreePath> output)
model - TreeModel reference.node - The root node.subjects - List of Widget references.output - A valid instance of List of TreePath references where to store the result.private java.util.SortedMap<java.lang.String,java.lang.Object> getWidgetProperties(Widget<?> widget, java.lang.Iterable<java.lang.String> inclusions)
The caller can pass a collection of inclusion patterns. An inclusion pattern is a string that may contain a wildcard character at the beginning or end of the string. Properties that match any of the inclusion patterns are returned.
widget - The widget instance which will be introspected for properties.inclusions - The collection of inclusion patterns. May be null or empty,
in which case all properties are returned.private void getAllFields(java.util.Map<java.lang.String,java.lang.Object> result,
java.lang.String namespace,
java.lang.Object ref)
ref's fields and puts them into result.
Field name is used the key into the map. If namespace is non-empty,
the key is prepended with its value.result - The result map where the ref's field name-values are stored.namespace - The string to be prepended with the field names to form a "compound"
key in the resulting map. May be null.ref - The object whose fields are introspected.private static java.util.SortedMap<java.lang.String,java.lang.Object> filterProperties(java.util.SortedMap<java.lang.String,java.lang.Object> props,
java.lang.Iterable<java.lang.String> inclusions)
props - The property map.inclusions - The inclusion patterns applied to the property map.private java.lang.String formatValue(java.lang.Object obj)
obj - A reference, may be null.