edu.jhu.tmaj.client.image.draw
Class FreeHandDrawable

java.lang.Object
  extended by edu.jhu.tmaj.client.image.draw.AbstractDrawable
      extended by edu.jhu.tmaj.client.image.draw.FreeHandDrawable
All Implemented Interfaces:
Drawable, java.io.Serializable

public final class FreeHandDrawable
extends AbstractDrawable
implements Drawable, java.io.Serializable

A polygon

See Also:
Serialized Form

Field Summary
 
Fields inherited from class edu.jhu.tmaj.client.image.draw.AbstractDrawable
BLACK_SQUARE_SIZE, drawableLabel, isCompleted, MARGIN, userID
 
Constructor Summary
FreeHandDrawable(DrawableLabel d)
           
 
Method Summary
 void createFromShapeRecord(ShapeRecord shapeRecord)
          Called from subclasses that override this method, this class only sets the shapeID variable
 boolean createNewShapeOnMousePress()
          Returns true
 void draw(java.awt.Graphics g)
          Sets the color and draws the black squares aroudn the Drawable
protected  Point[] getBlackSquares()
          Returns an empty array; This method is overwritten in subclasses
 InsertSQL getInsertSQL(int scoredImageID)
          Returns a SQL statement to update an existing shape in the database.
 UpdateSQL getUpdateSQL()
          Returns a SQL statement to insert this shape into the database.
 void handleMouseDragged(java.awt.event.MouseEvent e)
          Moves the shape depending on difference between last point, if the user has finished drawing it.
 void handleMousePressed(java.awt.event.MouseEvent e)
          Registers tempX and tempX if moving is allowed
 void handleMouseReleased(java.awt.event.MouseEvent e)
          Indicate the user has finished drawing the shape
 boolean isValid()
          Returns true if the shape is "worth saving".
protected  void move(int xDiff, int yDiff)
          Moves the shape by adding xDiff and YDiff to it's current x and y, respectively.
 boolean shouldPointActivate(int xPos, int yPos)
          Returns true if the x and y are close enough to the border of the shape to "Select" the shape
 
Methods inherited from class edu.jhu.tmaj.client.image.draw.AbstractDrawable
allowMoving, changeNormalStatusToModified, drawBlackSquare, drawBlackSquares, getColor, getDrawingX, getDrawingY, getNormalX, getNormalY, getShapeID, getStatus, getUserID, handleKeyPressed, isCompleted, isHighlighted, repaintDrawableLabel, setDrawableLabel, setIsCompleted, setIsHighlighted, setShapeID, setStatus, setUserID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.jhu.tmaj.client.image.draw.Drawable
getShapeID, getStatus, handleKeyPressed, isCompleted, isHighlighted, setIsCompleted, setIsHighlighted, setShapeID, setStatus, setUserID
 

Constructor Detail

FreeHandDrawable

public FreeHandDrawable(DrawableLabel d)
Method Detail

handleMousePressed

public void handleMousePressed(java.awt.event.MouseEvent e)
Description copied from class: AbstractDrawable
Registers tempX and tempX if moving is allowed

Specified by:
handleMousePressed in interface Drawable
Overrides:
handleMousePressed in class AbstractDrawable

handleMouseDragged

public void handleMouseDragged(java.awt.event.MouseEvent e)
Description copied from class: AbstractDrawable
Moves the shape depending on difference between last point, if the user has finished drawing it.

Specified by:
handleMouseDragged in interface Drawable
Overrides:
handleMouseDragged in class AbstractDrawable

handleMouseReleased

public void handleMouseReleased(java.awt.event.MouseEvent e)
Description copied from class: AbstractDrawable
Indicate the user has finished drawing the shape

Specified by:
handleMouseReleased in interface Drawable
Overrides:
handleMouseReleased in class AbstractDrawable

move

protected void move(int xDiff,
                    int yDiff)
Description copied from class: AbstractDrawable
Moves the shape by adding xDiff and YDiff to it's current x and y, respectively.

Specified by:
move in class AbstractDrawable

draw

public void draw(java.awt.Graphics g)
Description copied from class: AbstractDrawable
Sets the color and draws the black squares aroudn the Drawable

Specified by:
draw in interface Drawable
Overrides:
draw in class AbstractDrawable

shouldPointActivate

public boolean shouldPointActivate(int xPos,
                                   int yPos)
Description copied from interface: Drawable
Returns true if the x and y are close enough to the border of the shape to "Select" the shape

Specified by:
shouldPointActivate in interface Drawable

isValid

public boolean isValid()
Description copied from interface: Drawable
Returns true if the shape is "worth saving". A line of zero length of text with 0 characters is not valid

Specified by:
isValid in interface Drawable

createFromShapeRecord

public void createFromShapeRecord(ShapeRecord shapeRecord)
Description copied from class: AbstractDrawable
Called from subclasses that override this method, this class only sets the shapeID variable

Specified by:
createFromShapeRecord in interface Drawable
Overrides:
createFromShapeRecord in class AbstractDrawable

getInsertSQL

public InsertSQL getInsertSQL(int scoredImageID)
Description copied from class: AbstractDrawable
Returns a SQL statement to update an existing shape in the database.

Specified by:
getInsertSQL in interface Drawable
Specified by:
getInsertSQL in class AbstractDrawable

getUpdateSQL

public UpdateSQL getUpdateSQL()
Description copied from class: AbstractDrawable
Returns a SQL statement to insert this shape into the database.

Specified by:
getUpdateSQL in interface Drawable
Specified by:
getUpdateSQL in class AbstractDrawable

createNewShapeOnMousePress

public boolean createNewShapeOnMousePress()
Description copied from class: AbstractDrawable
Returns true

Specified by:
createNewShapeOnMousePress in interface Drawable
Overrides:
createNewShapeOnMousePress in class AbstractDrawable

getBlackSquares

protected Point[] getBlackSquares()
Description copied from class: AbstractDrawable
Returns an empty array; This method is overwritten in subclasses

Overrides:
getBlackSquares in class AbstractDrawable