uk.ac.ic.doc.automed.editor
Class EditorPanel

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 uk.ac.ic.doc.automed.editor.EditorPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class EditorPanel
extends javax.swing.JPanel

Provide a JPanel extension to display arcs and vertices using implementations of DrawableArc and DrawableVertex. The following implementations are provided for certain reps package classes:

reps Class DrawableVertex DrawableArc
Schema DrawSchema NA
Network DrawNetwork NA
Transformation NA DrawTransformation
Schema DrawableVertex DrawableArc
SchemaObject (Nodal) DefaultDrawNodalVertex NA
SchemaObject (Link Nodal) DefaultDrawLinkNodalVertex DefaultDrawLinkNodalArc
SchemaObject (Link) DefaultDrawLinkVertex DefaultDrawLinkArc
SchemaObject (Constraint) DefaultDrawConstraintVertex DefaultDrawConstraintArc

Author:
Michael Boyd (mboyd@doc.ic.ac.uk), Peter McBrien (pjm@doc.ic.ac.uk)
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
protected static java.awt.Stroke dashedStroke
           
 
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
EditorPanel(Gui g, Gui.EditorFrame ef)
           
EditorPanel(Gui g, java.util.Map elements, Gui.EditorFrame ef)
           
 
Method Summary
static java.awt.Point[] calcRectangleConnector(java.awt.Rectangle r0, java.awt.Rectangle r1)
          Compute three points, the first two of which represent a rectangle that forms a box `between' the supplied rectangles, and the third point represents the `sign' of the relationship between the rectangles.
 Drawable getDrawable(Positionable p)
          Return a Drawable that has been used to represent a Positionable in this panel.
 java.awt.FontMetrics getFontMetrics()
          Utility method for all editor drawing tools to use when they need to obtain the FontMetrics of an EditorPanel
 javax.swing.JComponent getVertexComponent(Positionable p)
           
 DrawableVertex getVertexDrawable(Positionable p)
           
 void paintChildren(java.awt.Graphics g)
          Paint the arcs within this panel.
 void paintComponent(java.awt.Graphics g)
          Paint the nodes within this panel.
 void refresh()
          Redraw the contents of this editor panel after some change to the AutoMed repository objects it displays.
 void setElements(java.util.Map elements)
           
 
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, 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, 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

dashedStroke

protected static final java.awt.Stroke dashedStroke
Constructor Detail

EditorPanel

public EditorPanel(Gui g,
                   java.util.Map elements,
                   Gui.EditorFrame ef)

EditorPanel

public EditorPanel(Gui g,
                   Gui.EditorFrame ef)
Method Detail

getDrawable

public Drawable getDrawable(Positionable p)
Return a Drawable that has been used to represent a Positionable in this panel.


setElements

public void setElements(java.util.Map elements)

getVertexDrawable

public DrawableVertex getVertexDrawable(Positionable p)

getVertexComponent

public javax.swing.JComponent getVertexComponent(Positionable p)

paintComponent

public void paintComponent(java.awt.Graphics g)
Paint the nodes within this panel.

Overrides:
paintComponent in class javax.swing.JComponent

refresh

public void refresh()
Redraw the contents of this editor panel after some change to the AutoMed repository objects it displays. Note that this is supposed to occur automatically when you change Schema, SchemaObject, etc classes, and thus should not normally be called from user applications.


paintChildren

public void paintChildren(java.awt.Graphics g)
Paint the arcs within this panel.

Overrides:
paintChildren in class javax.swing.JComponent

calcRectangleConnector

public static java.awt.Point[] calcRectangleConnector(java.awt.Rectangle r0,
                                                      java.awt.Rectangle r1)
Compute three points, the first two of which represent a rectangle that forms a box `between' the supplied rectangles, and the third point represents the `sign' of the relationship between the rectangles.

Returns:
An array of three Points, the first two of which represent the rectangle placed between r0 and r1, where the first Point is adjacent to r0, and the second adjacent to r1.

getFontMetrics

public java.awt.FontMetrics getFontMetrics()
Utility method for all editor drawing tools to use when they need to obtain the FontMetrics of an EditorPanel