edu.mit.sketch.ddg
Class DomainDescriptionGenerator

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 edu.mit.sketch.ui.SketchPanel
                      extended by edu.mit.sketch.ddg.DomainDescriptionGenerator
All Implemented Interfaces:
StrokeDataListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class DomainDescriptionGenerator
extends SketchPanel
implements StrokeDataListener

Domain Description Generator learns new symbols that the user draws. This class handles the user interface - capturing the strokes and reacting to user actions on the drawing panel and the menus.

SymbolLearner.java Created: Sat Nov 17 21:00:00 2001

Author:
Olya Veselova
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
static GeometricObjectList drawnDebugOutput
          Things that need to be drawn for debug purposes
static double LINE_WIDTH
          The width of the line drawn on the screen - determines the perceived resolution of the device
static java.awt.Color TENSION_LINE_COLOR
           
 
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
DomainDescriptionGenerator()
          Construct the domain description generator
 
Method Summary
 void describeSymbol(javax.swing.JFrame frame)
          Generate and print the object description
 void handleStroke(StrokeData stroke)
          Store the new storke and repaint all the accumulated strokes
 void loadObject()
          Load an object description form file and add it to the domain description and mapping of drawn objects to descriptions
static void main(java.lang.String[] args)
           
 void paintComponent(java.awt.Graphics g)
          Paint the window
 void saveSymbol()
          Store and print the object description
 void saveToFile()
          Save the description of the object to file with all the object parameters and all the details
 void selectObject()
          Store and print the object description
 void setGeneratedObject(DrawnObject object)
          For animation
 void setRelevanceThreshold()
          Set the threshold on which the constraints are filtered for relevance
 void setToleranceThreshold()
          Set the threshold on noise tolerances
 
Methods inherited from class edu.mit.sketch.ui.SketchPanel
addStrokeDataListener, getStrokeDataListeners, isPaintingAsWeGo, isRecognizing, removeStrokeDataListener, setIsPaintingAsWeGo, setIsRecognizing
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, 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, 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, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
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, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

drawnDebugOutput

public static GeometricObjectList drawnDebugOutput
Things that need to be drawn for debug purposes


TENSION_LINE_COLOR

public static final java.awt.Color TENSION_LINE_COLOR

LINE_WIDTH

public static final double LINE_WIDTH
The width of the line drawn on the screen - determines the perceived resolution of the device

See Also:
Constant Field Values
Constructor Detail

DomainDescriptionGenerator

public DomainDescriptionGenerator()
Construct the domain description generator

Method Detail

setGeneratedObject

public void setGeneratedObject(DrawnObject object)
For animation


describeSymbol

public void describeSymbol(javax.swing.JFrame frame)
Generate and print the object description


saveSymbol

public void saveSymbol()
Store and print the object description


saveToFile

public void saveToFile()
Save the description of the object to file with all the object parameters and all the details


setRelevanceThreshold

public void setRelevanceThreshold()
Set the threshold on which the constraints are filtered for relevance


setToleranceThreshold

public void setToleranceThreshold()
Set the threshold on noise tolerances


loadObject

public void loadObject()
Load an object description form file and add it to the domain description and mapping of drawn objects to descriptions


selectObject

public void selectObject()
Store and print the object description


handleStroke

public void handleStroke(StrokeData stroke)
Store the new storke and repaint all the accumulated strokes

Specified by:
handleStroke in interface StrokeDataListener

paintComponent

public void paintComponent(java.awt.Graphics g)
Paint the window

Overrides:
paintComponent in class javax.swing.JComponent

main

public static void main(java.lang.String[] args)