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

java.lang.Object
  extended by edu.jhu.tmaj.client.image.draw.AbstractDrawable
      extended by edu.jhu.tmaj.client.image.draw.LineDrawable
All Implemented Interfaces:
Drawable, java.io.Serializable
Direct Known Subclasses:
ArrowDrawable

public class LineDrawable
extends AbstractDrawable
implements Drawable, java.io.Serializable

A line

See Also:
Serialized Form

Field Summary
protected  int x1
           
protected  int x2
           
protected  int y1
           
protected  int y2
           
 
Fields inherited from class edu.jhu.tmaj.client.image.draw.AbstractDrawable
BLACK_SQUARE_SIZE, drawableLabel, isCompleted, MARGIN, userID
 
Constructor Summary
LineDrawable(DrawableLabel d)
           
 
Method Summary
 void createFromShapeRecord(ShapeRecord shapeRecord)
          Called from subclasses that override this method, this class only sets the shapeID variable
 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.
protected  InsertSQL getInsertSQL(int scoredImageID, java.lang.String type)
           
 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
static boolean isPointNearLine(int x, int y, int x1, int y1, int x2, int y2)
           
 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
 java.lang.String toString()
           
 
Methods inherited from class edu.jhu.tmaj.client.image.draw.AbstractDrawable
allowMoving, changeNormalStatusToModified, createNewShapeOnMousePress, drawBlackSquare, drawBlackSquares, getColor, getDrawingX, getDrawingY, getNormalX, getNormalY, getShapeID, getStatus, getUserID, handleKeyPressed, handleMouseReleased, isCompleted, isHighlighted, repaintDrawableLabel, setDrawableLabel, setIsCompleted, setIsHighlighted, setShapeID, setStatus, setUserID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.jhu.tmaj.client.image.draw.Drawable
createNewShapeOnMousePress, getShapeID, getStatus, handleKeyPressed, handleMouseReleased, isCompleted, isHighlighted, setIsCompleted, setIsHighlighted, setShapeID, setStatus, setUserID
 

Field Detail

x1

protected int x1

y1

protected int y1

x2

protected int x2

y2

protected int y2
Constructor Detail

LineDrawable

public LineDrawable(DrawableLabel d)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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

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

getBlackSquares

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

Overrides:
getBlackSquares 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

isPointNearLine

public static boolean isPointNearLine(int x,
                                      int y,
                                      int x1,
                                      int y1,
                                      int x2,
                                      int y2)

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

getInsertSQL

protected InsertSQL getInsertSQL(int scoredImageID,
                                 java.lang.String type)

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

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