|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
uk.ac.ic.doc.automed.editor.EditorPanel
public class EditorPanel
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 |
Nested Class Summary | |
---|---|
(package private) class |
EditorPanel.VertexComponent
|
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
private java.util.Map<Positionable,java.util.List> |
adjacents
|
private java.util.HashMap<Positionable,java.awt.Color> |
backgroundColor
|
private java.awt.Rectangle |
bounds
|
protected static java.awt.Stroke |
dashedStroke
|
private boolean |
dragging
|
private java.util.Map<Positionable[],DrawableArc> |
edges
|
(package private) Gui.EditorFrame |
ef
|
private java.awt.FontMetrics |
fm
|
private java.util.HashMap<Positionable,java.awt.Color> |
foregroundColor
|
private static int |
grCount
|
private java.util.HashSet<Positionable> |
group
|
private java.awt.Rectangle |
groupBox
|
(package private) Gui |
gui
|
private boolean |
justActivated
|
private int |
mouseOffsetX
|
private int |
mouseOffsetY
|
private int |
mouseStartX
|
private int |
mouseStartY
|
private boolean |
partialView
|
(package private) static int |
pc
|
private static java.util.Map<Positionable,EditorPanel> |
posPanel
|
private int |
selectOffset
|
private static int |
thickness
|
private java.util.Map<Positionable,EditorPanel.VertexComponent> |
vertexComponent
|
private java.util.Map |
vertices
|
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<java.lang.Object,Drawable> elements,
Gui.EditorFrame ef)
|
|
EditorPanel(Network s)
Call this to create a JPanel containing an AutoMed Network . |
|
EditorPanel(Schema s)
Call this to create a JPanel containing an AutoMed Schema . |
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. |
void |
clearBackgroundColor(Positionable p)
|
void |
clearForegroundColor(Positionable p)
|
private void |
doPopupMenu(java.awt.Component target,
java.awt.event.MouseEvent me)
|
private void |
drawGroupBox(java.awt.Graphics2D g)
|
private void |
drawSelected(java.awt.Graphics2D g)
|
private void |
drawSelectedObject(java.awt.Graphics2D g,
Positionable p,
DrawableVertex d)
|
private Positionable[] |
findShortestPath(Positionable p1,
Positionable p2)
|
java.awt.Color |
getBackgroundColor(Positionable p)
|
DrawableVertex |
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 |
java.awt.Color |
getForegroundColor(Positionable p)
|
javax.swing.JComponent |
getVertexComponent(Positionable p)
|
DrawableVertex |
getVertexDrawable(Positionable p)
|
private boolean |
isHidden(Drawable d)
|
private boolean |
isHidden(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 |
setBackgroundColor(Positionable p,
java.awt.Color c)
|
void |
setElements(java.util.Map<java.lang.Object,Drawable> elements)
|
void |
setElements(Network n)
The EditorPanel needs a Map that has as its domain instances of
Positionable and its range instances of Drawable . |
void |
setElements(Schema s)
The EditorPanel needs a Map that has as its domain instances of
Positionable and its range instances of Drawable . |
void |
setForegroundColor(Positionable p,
java.awt.Color c)
|
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, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, transferFocusBackward, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static java.util.Map<Positionable,EditorPanel> posPanel
private java.util.Map<Positionable,EditorPanel.VertexComponent> vertexComponent
private java.util.Map<Positionable,java.util.List> adjacents
private java.util.Map vertices
private java.util.Map<Positionable[],DrawableArc> edges
private int selectOffset
private boolean dragging
private boolean justActivated
private java.awt.FontMetrics fm
private boolean partialView
Gui.EditorFrame ef
Gui gui
private java.util.HashSet<Positionable> group
private java.awt.Rectangle groupBox
private int mouseOffsetX
private int mouseOffsetY
private int mouseStartX
private int mouseStartY
private static final int thickness
private java.util.HashMap<Positionable,java.awt.Color> backgroundColor
private java.util.HashMap<Positionable,java.awt.Color> foregroundColor
private java.awt.Rectangle bounds
static int pc
protected static final java.awt.Stroke dashedStroke
private static int grCount
Constructor Detail |
---|
public EditorPanel(Gui g, java.util.Map<java.lang.Object,Drawable> elements, Gui.EditorFrame ef)
public EditorPanel(Schema s)
JPanel
containing an AutoMed Schema
.
public EditorPanel(Network s)
JPanel
containing an AutoMed Network
.
public EditorPanel(Gui g, Gui.EditorFrame ef)
Method Detail |
---|
public void setElements(Network n)
Map
that has as its domain instances of
Positionable
and its range instances of Drawable
. This
utility function creates such a Map
for an AutoMed Network
.
public void setElements(Schema s)
Map
that has as its domain instances of
Positionable
and its range instances of Drawable
. This
utility function creates such a Map
for an AutoMed Schema
.
public DrawableVertex getDrawable(Positionable p) throws NotFoundException
Drawable
that has been used to represent a
Positionable
in this panel.
NotFoundException
public void setElements(java.util.Map<java.lang.Object,Drawable> elements)
public DrawableVertex getVertexDrawable(Positionable p)
public javax.swing.JComponent getVertexComponent(Positionable p)
public void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
public void refresh()
Schema
, SchemaObject
,
etc classes, and thus should not normally be called from user
applications.
public void paintChildren(java.awt.Graphics g)
paintChildren
in class javax.swing.JComponent
private void drawSelected(java.awt.Graphics2D g)
private void drawGroupBox(java.awt.Graphics2D g)
private void drawSelectedObject(java.awt.Graphics2D g, Positionable p, DrawableVertex d)
private void doPopupMenu(java.awt.Component target, java.awt.event.MouseEvent me)
private Positionable[] findShortestPath(Positionable p1, Positionable p2)
public static java.awt.Point[] calcRectangleConnector(java.awt.Rectangle r0, java.awt.Rectangle r1)
Point
s, 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.public java.awt.FontMetrics getFontMetrics()
FontMetrics
of an EditorPanel
public void setForegroundColor(Positionable p, java.awt.Color c)
public void setBackgroundColor(Positionable p, java.awt.Color c)
public java.awt.Color getForegroundColor(Positionable p)
public java.awt.Color getBackgroundColor(Positionable p)
public void clearForegroundColor(Positionable p)
public void clearBackgroundColor(Positionable p)
private boolean isHidden(Positionable p)
private boolean isHidden(Drawable d)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |