lib
Class JDiagram

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by lib.JDiagram
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class JDiagram
extends javax.swing.JPanel

A GuiDiagram is a diagramatic rendering of a JTreeNode hieararchy

Version:
1.0
Author:
CobaltSoftware (abode.devteam@cobaltsoftware.net)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  boolean bDetailed
           
private  boolean bExpanded
           
private  java.awt.Dimension diagramDimensions
           
private  JEditorWindow parent
           
private  IRenderer renderer
           
private  JTreeNode root
           
static long serialVersionUID
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
 
Constructor Summary
JDiagram(JEditorWindow parentFrame, JTreeNode tree, IRenderer render, boolean expanded, boolean detailed)
          Create a new diagram with a root node and a parent frame
 
Method Summary
private  void formMouseClicked(java.awt.event.MouseEvent evt)
           
 boolean getDetailed()
          Are we a detailed diagram, showing elements not directly related to the actions?
 java.awt.Dimension getDimensions()
          Get the current dimensions of the diagram
 boolean getExpanded()
          Are we an expanded diagram, showing elements invoked by elements on the tree?
 JEditorWindow getInternalFrame()
          Get the internal frame that houses us
 IRenderer getRenderer()
          Get the object responsible for rendering us
 JTreeNode getRoot()
          Get the root of the tree we're rendering
private  void initComponents()
          This method is called from within the constructor to initialize the form.
 void paintComponent(java.awt.Graphics g)
          Redraw the component
 void repaint()
          Repaint the diagram
 void setDimensions(java.awt.Dimension d)
          Set the current dimensions od the diagram
 void setRenderer(IRenderer render)
          If our diagram rendering object has been changed, propegate the change to our diagram elements
 void setRoot(JTreeNode rootNode)
          Reset the root of the tree we're rendering
 void unvalidate()
          set everything as valid to undo the previous validation process
private  void unvalidateRecursive(JTreeNode root)
          Recurse through the tree setting everything as valid
 void validate(LearnableActionPattern lap, java.util.ArrayList actions, java.util.ArrayList senses)
          Validate this diagram
private  void validateRecursive(LearnableActionPattern lap, JTreeNode root, java.util.ArrayList actions, java.util.ArrayList senses)
          Recurse through tree looking for primitives that are not defined.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, update
 
Methods inherited from class java.awt.Container
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, transferFocusBackward, 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, 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, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values

root

private JTreeNode root

parent

private JEditorWindow parent

renderer

private IRenderer renderer

diagramDimensions

private java.awt.Dimension diagramDimensions

bDetailed

private boolean bDetailed

bExpanded

private boolean bExpanded
Constructor Detail

JDiagram

public JDiagram(JEditorWindow parentFrame,
                JTreeNode tree,
                IRenderer render,
                boolean expanded,
                boolean detailed)
Create a new diagram with a root node and a parent frame

Parameters:
parentFrame - Window that is hosting this diagram
tree - The root of the tree this diagram contains
render - The rendering object to use for this particular display
expanded - Does this diagram show expansion (i.e. un-ravel the recursive references)
detailed - Does this diagram show detailed information and extra nodes (i.e. trigger lists)
Method Detail

getExpanded

public boolean getExpanded()
Are we an expanded diagram, showing elements invoked by elements on the tree?

Returns:
True if expanded, false otherwise

getDetailed

public boolean getDetailed()
Are we a detailed diagram, showing elements not directly related to the actions?

Returns:
True if detailed, false otherwise

unvalidate

public void unvalidate()
set everything as valid to undo the previous validation process


unvalidateRecursive

private void unvalidateRecursive(JTreeNode root)
Recurse through the tree setting everything as valid


validate

public void validate(LearnableActionPattern lap,
                     java.util.ArrayList actions,
                     java.util.ArrayList senses)
Validate this diagram


validateRecursive

private void validateRecursive(LearnableActionPattern lap,
                               JTreeNode root,
                               java.util.ArrayList actions,
                               java.util.ArrayList senses)
Recurse through tree looking for primitives that are not defined.


getRenderer

public IRenderer getRenderer()
Get the object responsible for rendering us


setRenderer

public void setRenderer(IRenderer render)
If our diagram rendering object has been changed, propegate the change to our diagram elements


getInternalFrame

public JEditorWindow getInternalFrame()
Get the internal frame that houses us


setDimensions

public void setDimensions(java.awt.Dimension d)
Set the current dimensions od the diagram


getDimensions

public java.awt.Dimension getDimensions()
Get the current dimensions of the diagram


getRoot

public JTreeNode getRoot()
Get the root of the tree we're rendering


setRoot

public void setRoot(JTreeNode rootNode)
Reset the root of the tree we're rendering


initComponents

private void initComponents()
This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.


formMouseClicked

private void formMouseClicked(java.awt.event.MouseEvent evt)

paintComponent

public void paintComponent(java.awt.Graphics g)
Redraw the component

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - Swing graphics object

repaint

public void repaint()
Repaint the diagram

Overrides:
repaint in class java.awt.Component