Class DOMViewer.Panel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Enclosing class:
DOMViewer

public class DOMViewer.Panel extends JPanel
The panel that contains the viewer.
See Also:
  • Field Details

    • NODE_INSERTED

      public static final String NODE_INSERTED
      See Also:
    • NODE_REMOVED

      public static final String NODE_REMOVED
      See Also:
    • ATTRIBUTE_MODIFIED

      public static final String ATTRIBUTE_MODIFIED
      See Also:
    • CHAR_DATA_MODIFIED

      public static final String CHAR_DATA_MODIFIED
      See Also:
    • document

      protected Document document
      The DOM document.
    • nodeInsertion

      protected EventListener nodeInsertion
      "Node inserted" DOM Mutation Listener.
    • nodeRemoval

      protected EventListener nodeRemoval
      "Node removed" DOM Mutation Listener.
    • attrModification

      protected EventListener attrModification
      "Attribute modified" DOM Mutation Listener.
    • charDataModification

      protected EventListener charDataModification
      "Character data modified" DOM Mutation Listener.
    • capturingListener

      protected EventListener capturingListener
      Capturing "click" event type listener. Allows the "capturing click" option
    • viewCSS

      protected org.w3c.dom.css.ViewCSS viewCSS
      The ViewCSS object associated with the document.
    • tree

      protected DOMDocumentTree tree
      The tree.
    • splitPane

      protected JSplitPane splitPane
      The split pane.
    • rightPanel

      protected JPanel rightPanel
      The right panel.
    • propertiesTable

      protected JTable propertiesTable
      The properties table.
    • attributePanel

      protected NodePickerPanel attributePanel
      The panel to show the nodes attributes.
    • attributePanelLayout

      protected GridBagConstraints attributePanelLayout
      The layout for the attribute panel.
    • propertiesTableLayout

      protected GridBagConstraints propertiesTableLayout
      The layout for the properties table.
    • elementPanel

      protected JPanel elementPanel
      The element panel.
    • characterDataPanel

      protected DOMViewer.Panel.CharacterPanel characterDataPanel
      The CharacterData node panel.
    • documentInfo

      protected JTextArea documentInfo
      The documentInfo panel text area.
    • documentInfoPanel

      protected JPanel documentInfoPanel
      The documentInfo node panel.
  • Constructor Details

    • Panel

      public Panel()
      Creates a new Panel object.
  • Method Details

    • setDocument

      public void setDocument(Document doc)
      Sets the document to display.
    • setDocument

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

      protected void addDomMutationListeners(Document doc)
      Registers DOM Mutation Listener on the given document.
      Parameters:
      doc - The given document
    • removeDomMutationListeners

      protected void removeDomMutationListeners(Document doc)
      Removes previously registered mutation listeners from the document.
      Parameters:
      doc - The document
    • addCapturingListener

      protected void addCapturingListener(Document doc)
      Registers capturing "click" listener on the document element of the given document.
      Parameters:
      doc - The given document
    • removeCapturingListener

      protected void removeCapturingListener(Document doc)
      Removes previously registered capturing "click" event listener from the document element of the given document.
      Parameters:
      doc - The given document
    • refreshGUI

      protected void refreshGUI(Runnable runnable)
      Checks whether the DOMViewer can be used to edit the document and if true refreshes the DOMViewer after the DOM Mutation event occured.
      Parameters:
      runnable - The runnable to invoke for refresh
    • registerNodeInserted

      protected void registerNodeInserted(MutationEvent mevt)
      Adds the "DOMNodeInserted" Mutation event to current history browser's interface compound command
      Parameters:
      mevt - The Mutation Event
    • registerNodeRemoved

      protected void registerNodeRemoved(MutationEvent mevt)
      Adds the "DOMNodeRemoved" Mutation event to current history browser's interface compound command
      Parameters:
      mevt - The Mutation Event
    • registerAttributeAdded

      protected void registerAttributeAdded(MutationEvent mevt)
      Adds the "DOMAttrModified" Mutation event, of the MutationEvent.ADDITION type to current history browser's interface compound command
      Parameters:
      mevt - The Mutation Event
    • registerAttributeRemoved

      protected void registerAttributeRemoved(MutationEvent mevt)
      Adds the "DOMAttrModified" Mutation event, of the MutationEvent.REMOVAL type to current history browser's interface compound command
      Parameters:
      mevt - The Mutation Event
    • registerAttributeModified

      protected void registerAttributeModified(MutationEvent mevt)
      Adds the "DOMAttrModified" Mutation event, of the MutationEvent.MODIFICATION type to current history browser's interface compound command
      Parameters:
      mevt - The Mutation Event
    • registerAttributeChanged

      protected void registerAttributeChanged(MutationEvent mevt)
      Checks what type of the "DOMAttrModified" mutation event occured, and invokes the appropriate method to register the change.
      Parameters:
      mevt - The Mutation Event
    • registerCharDataModified

      protected void registerCharDataModified(MutationEvent mevt)
      Adds the "DOMCharDataModified" Mutation event to current history browser's interface compound command
      Parameters:
      mevt - The Mutation Event
    • shouldRegisterDocumentChange

      protected boolean shouldRegisterDocumentChange()
      Checks if the document change that occured should be registered. If the document change has occured out of the DOMViewer, the state of the history browser should be HistoryBrowserState.IDLE. Otherwise, if the DOMViewer caused the change, one of the following states is active: HistoryBrowserState.EXECUTING, HistoryBrowserState.UNDOING, HistoryBrowserState.REDOING. This method should be invoked while the document change is occuring (in mutation event handlers), otherwise, if put in another thread, the state flag becomes invalid. Also checks if the DOMViewer can be used to edit the document. If not, then the change shouldn't be registered by the HistoryBrowser
      Returns:
      True if the DOMViewer can edit the document and the history browser state is IDLE at the moment
    • registerDocumentChange

      protected void registerDocumentChange(MutationEvent mevt)
      Puts the document change in the current history browser's interface compound command if the document change occured outside of the DOMViewer.
      Parameters:
      mevt - The info on the event. Use to describe the document change to the history browser
    • createTree

      protected MutableTreeNode createTree(Node node, boolean showWhitespace)
      Creates a swing tree from a DOM document.
    • findNode

      protected DefaultMutableTreeNode findNode(JTree theTree, Node node)
      Finds and returns the node in the tree that represents the given node in the document.
      Parameters:
      theTree - The given JTree
      node - The given org.w3c.dom.Node
      Returns:
      Node or null if not found
    • selectNode

      public void selectNode(Node targetNode)
      Finds and selects the given node in the document tree.
      Parameters:
      targetNode - The node to be selected
    • createTemplatesMenu

      protected JMenu createTemplatesMenu(String name)
      Creates JMenu menu using NodeTemplates.
      Parameters:
      name - The name of the submenu
      Returns:
      The JMenu submenu