Class DOMViewer

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ActionMap

    public class DOMViewer
    extends javax.swing.JFrame
    implements ActionMap
    The components of this class are used to view a DOM tree.
    Version:
    $Id: DOMViewer.java 1808023 2017-09-11 12:43:22Z ssteiner $
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  DOMViewer.CapturingClickButtonAction
      The action associated with the 'Capturing-click' toggle button of the viewer panel.
      protected class  DOMViewer.CloseButtonAction
      The action associated with the 'Close' button of the viewer panel
      protected static class  DOMViewer.ContentNodeInfo
      To store the node information for an xbl:content node's selected content.
      protected class  DOMViewer.DOMViewerDOMDocumentTreeController
      DOMDocumentTreeController implementation.
      protected class  DOMViewer.DOMViewerElementOverlayController
      ElementOverlayController implementation.
      protected class  DOMViewer.DOMViewerNodePickerController
      NodePickerController implementation.
      protected static class  DOMViewer.NodeInfo
      To store the nodes informations
      protected class  DOMViewer.OverlayButtonAction
      The action associated with the 'overlay' toggle button of the viewer panel.
      class  DOMViewer.Panel
      The panel that contains the viewer.
      protected class  DOMViewer.RedoButtonAction
      The action associated with the 'Redo' dropdown button of the viewer panel
      protected static class  DOMViewer.ShadowNodeInfo
      To store the node information for a shadow tree.
      protected class  DOMViewer.UndoButtonAction
      The action associated with the 'Undo' dropdown button of the viewer panel
      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.util.ResourceBundle bundle
      The resource bundle
      protected ButtonFactory buttonFactory
      The button factory.
      protected boolean canEdit
      Whether the DOMViewer can be used for editing the document.
      protected DOMViewerController domViewerController
      The DOMViewer controller.
      protected ElementOverlayManager elementOverlayManager
      Manages the element selection on the canvas.
      protected HistoryBrowserInterface historyBrowserInterface
      The history browsing manager.
      protected boolean isCapturingClickEnabled
      Whether "capturing click" tool is enabled.
      protected boolean isElementOverlayEnabled
      Whether painting the overlay on the canvas is enabled.
      protected java.util.Map listeners
      The map that contains the listeners
      protected javax.swing.JToggleButton overlayButton
      The button for enabling and disabling the overlay.
      protected DOMViewer.Panel panel
      The panel.
      protected static java.lang.String RESOURCE
      The resource file name
      protected static ResourceManager resources
      The resource manager
      protected boolean showWhitespace
      Whether to show text nodes that contain only whitespace in the tree.
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • 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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void addChangesToHistory()
      Groups the document changes that were made out of the document into a single change and adds this change to the history browser.
      boolean canEdit()
      Whether the document can be edited using the DOMViewer.
      javax.swing.Action getAction​(java.lang.String key)
      Returns the action associated with the given string or null on error
      private ButtonFactory getButtonFactory()
      Gets buttonFactory.
      void resetHistory()
      Resets the history.
      void selectNode​(org.w3c.dom.Node node)
      Selects and scrolls to the given node in the document tree.
      void setDocument​(org.w3c.dom.Document doc)
      Sets the document to display.
      void setDocument​(org.w3c.dom.Document doc, org.w3c.dom.css.ViewCSS view)
      Sets the document to display and its ViewCSS.
      void setEditable​(boolean canEdit)
      Enables / disables the DOMViewer to be used to edit the documents.
      void setShowWhitespace​(boolean state)
      Sets whether to show text nodes that contain only whitespace in the tree.
      protected void toggleOverlay()
      Toggles the element highlighting overlay.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • RESOURCE

        protected static final java.lang.String RESOURCE
        The resource file name
        See Also:
        Constant Field Values
      • bundle

        protected static java.util.ResourceBundle bundle
        The resource bundle
      • resources

        protected static ResourceManager resources
        The resource manager
      • listeners

        protected java.util.Map listeners
        The map that contains the listeners
      • buttonFactory

        protected ButtonFactory buttonFactory
        The button factory.
      • showWhitespace

        protected boolean showWhitespace
        Whether to show text nodes that contain only whitespace in the tree.
      • isCapturingClickEnabled

        protected boolean isCapturingClickEnabled
        Whether "capturing click" tool is enabled. If enabled, the element being clicked on is found and selected in the DOMViewer's document tree
      • domViewerController

        protected DOMViewerController domViewerController
        The DOMViewer controller.
      • elementOverlayManager

        protected ElementOverlayManager elementOverlayManager
        Manages the element selection on the canvas.
      • isElementOverlayEnabled

        protected boolean isElementOverlayEnabled
        Whether painting the overlay on the canvas is enabled.
      • historyBrowserInterface

        protected HistoryBrowserInterface historyBrowserInterface
        The history browsing manager. Manages undo / redo.
      • canEdit

        protected boolean canEdit
        Whether the DOMViewer can be used for editing the document.
      • overlayButton

        protected javax.swing.JToggleButton overlayButton
        The button for enabling and disabling the overlay.
    • Constructor Detail

      • DOMViewer

        public DOMViewer​(DOMViewerController controller)
        Creates a new DOMViewer panel.
    • Method Detail

      • setShowWhitespace

        public void setShowWhitespace​(boolean state)
        Sets whether to show text nodes that contain only whitespace in the tree.
      • setDocument

        public void setDocument​(org.w3c.dom.Document doc)
        Sets the document to display.
      • setDocument

        public void setDocument​(org.w3c.dom.Document doc,
                                org.w3c.dom.css.ViewCSS view)
        Sets the document to display and its ViewCSS.
      • canEdit

        public boolean canEdit()
        Whether the document can be edited using the DOMViewer.
        Returns:
        True if the document can be edited throught the DOMViewer
      • setEditable

        public void setEditable​(boolean canEdit)
        Enables / disables the DOMViewer to be used to edit the documents.
        Parameters:
        canEdit - True - The DOMViewer can be used to edit the documents
      • selectNode

        public void selectNode​(org.w3c.dom.Node node)
        Selects and scrolls to the given node in the document tree.
        Parameters:
        node - The node to be selected
      • resetHistory

        public void resetHistory()
        Resets the history.
      • getButtonFactory

        private ButtonFactory getButtonFactory()
        Gets buttonFactory.
      • getAction

        public javax.swing.Action getAction​(java.lang.String key)
                                     throws MissingListenerException
        Returns the action associated with the given string or null on error
        Specified by:
        getAction in interface ActionMap
        Parameters:
        key - the key mapped with the action to get
        Throws:
        MissingListenerException - if the action is not found
      • addChangesToHistory

        private void addChangesToHistory()
        Groups the document changes that were made out of the document into a single change and adds this change to the history browser.
      • toggleOverlay

        protected void toggleOverlay()
        Toggles the element highlighting overlay.