edu.mit.sketch.language
Class DrawPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by edu.mit.sketch.viewer.ShapeDisplay
                  extended by edu.mit.sketch.language.DrawPanel
All Implemented Interfaces:
ZoomableDisplay, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.swing.Scrollable
Direct Known Subclasses:
CDrawPanel, CircuitDrawPanel

public class DrawPanel
extends ShapeDisplay
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 javax.swing.Timer repaintTimer
           
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
DrawPanel(DomainList domainList)
           
 
Method Summary
 void addShape(DrawnShape s)
          Adds a shape to the history, and tells the history to call the factory's load with it.
 void drawMessy(boolean b)
           
 void fileLoad()
          Loads an xml file into the draw panel, first prompting the user to enter the name of the xml file.
 void fileLoad(java.lang.String filename)
          Loads an xml file into the draw panel
 void fileNew()
           
 void fileRecog()
           
 void fileSave()
           
 ShapeDef generatePerceptualShapeDef()
           
 void generateTrueConstraints(ShapeDefinitionFormPanel shapeDefPanel, ConceptPanel conceptPanel, NearMissPanel nearMissPanel)
           
 ShapeRecognizer getRecognizer()
          Returns the recognizer value of the LADDERMultimodalActionFactory class.
 ShapeCollection getShapeCollection()
           
 boolean isDraw_messy()
           
 boolean isFocusable()
          Needed to get keyboard focus *
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void loadXML_old(java.lang.String path)
           
 void loadXML(java.lang.String path)
           
 void mouseClicked(java.awt.event.MouseEvent event)
           
 void mouseDragged(java.awt.event.MouseEvent event)
           
 void mouseEntered(java.awt.event.MouseEvent event)
           
 void mouseExited(java.awt.event.MouseEvent event)
           
 void mouseMoved(java.awt.event.MouseEvent event)
           
 void mousePressed(java.awt.event.MouseEvent event)
           
 void mouseReleased(java.awt.event.MouseEvent event)
           
 boolean needsToBePainted()
           
 void paint(java.awt.Graphics g_old)
           
 void paintShapes(java.util.Collection<DrawnShape> shapes)
           
 java.lang.String recognizeShape(ShapeDef sd)
           
 void redo()
           
 void repaint()
           
 void setDomainList(DomainList domainList)
           
 void shapeMoved(DrawnShape shape)
           
 void undo()
           
 
Methods inherited from class edu.mit.sketch.viewer.ShapeDisplay
addShapes, buildShapeFrame, buildShapeFrame, buildShapeGrid, calculateInnerArea, clearDisplay, convertScreenPointToSketchPoint, getMinimumSize, getOverrideColor, getPreferredScrollableViewportSize, getPreferredSize, getPrintableImage, getScale, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getShapes, getSketchBounds, getViewableShapes, getZoomControls, isDisplayPoints, isStrokeWidthVariable, pinSketchBounds, pinSketchBounds, removeShape, removeShapes, scaleBy, setBackground, setDisplayPoints, setOverrideColor, setScale, setScaleToFit, setShapes, setStrokeWidthVariable, setViewableShapes, shapesModified, unpinSketchBounds
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

repaintTimer

public javax.swing.Timer repaintTimer
Constructor Detail

DrawPanel

public DrawPanel(DomainList domainList)
Method Detail

paintShapes

public void paintShapes(java.util.Collection<DrawnShape> shapes)

getShapeCollection

public ShapeCollection getShapeCollection()

undo

public void undo()

redo

public void redo()

fileSave

public void fileSave()

fileNew

public void fileNew()

fileLoad

public void fileLoad(java.lang.String filename)
Loads an xml file into the draw panel

Parameters:
filename - The name of the xml file.

fileLoad

public void fileLoad()
Loads an xml file into the draw panel, first prompting the user to enter the name of the xml file.


fileRecog

public void fileRecog()

recognizeShape

public java.lang.String recognizeShape(ShapeDef sd)

isFocusable

public boolean isFocusable()
Needed to get keyboard focus *

Overrides:
isFocusable in class java.awt.Component

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

shapeMoved

public void shapeMoved(DrawnShape shape)

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent event)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

repaint

public void repaint()
Overrides:
repaint in class java.awt.Component

paint

public void paint(java.awt.Graphics g_old)
Overrides:
paint in class javax.swing.JComponent

needsToBePainted

public boolean needsToBePainted()

drawMessy

public void drawMessy(boolean b)

generateTrueConstraints

public void generateTrueConstraints(ShapeDefinitionFormPanel shapeDefPanel,
                                    ConceptPanel conceptPanel,
                                    NearMissPanel nearMissPanel)

generatePerceptualShapeDef

public ShapeDef generatePerceptualShapeDef()

setDomainList

public void setDomainList(DomainList domainList)
Parameters:
domainList -

addShape

public void addShape(DrawnShape s)
Adds a shape to the history, and tells the history to call the factory's load with it.

Overrides:
addShape in class ShapeDisplay
Parameters:
s -

getRecognizer

public ShapeRecognizer getRecognizer()
Returns the recognizer value of the LADDERMultimodalActionFactory class.

Returns:
Returns the recognizer.

isDraw_messy

public boolean isDraw_messy()

loadXML

public void loadXML(java.lang.String path)

loadXML_old

public void loadXML_old(java.lang.String path)