http://www.jpicedt.org

jpicedt.graphic.toolkit
Class DrawToolFactory.GenericDrawTool

java.lang.Object
  extended by java.awt.event.KeyAdapter
      extended by jpicedt.graphic.toolkit.MouseTool
          extended by jpicedt.graphic.toolkit.DrawToolFactory.GenericDrawTool
All Implemented Interfaces:
KeyListener, EventListener, PEMouseInputListener
Enclosing class:
DrawToolFactory

protected class DrawToolFactory.GenericDrawTool
extends MouseTool

A MouseTool aimed at drawing new Elements. It works like an iterator, by iterating (cyclically, creating a new Element at each cycle) through a given array of point indexes, or (if the latter are not provided in the constructor) by computing it from the available control points for the given element.

GenericDrawTool targets Element having a finite number of control points ONLY !

Author:
Sylvain Reynal

Nested Class Summary
 
Nested classes/interfaces inherited from class jpicedt.graphic.toolkit.MouseTool
MouseTool.MouseToolType
 
Field Summary
 
Fields inherited from class jpicedt.graphic.toolkit.MouseTool
lastMouseEvent, mouseOutside
 
Constructor Summary
DrawToolFactory.GenericDrawTool(Element prototype, EditPointConstraint.EditConstraint constraint)
          The drawPoints array gets computed from all available control-points for the given element.
DrawToolFactory.GenericDrawTool(Element prototype, EditPointConstraint.EditConstraint constraint, int[][] drawPoints)
           
 
Method Summary
 void flush()
          called when this tool is being replaced by another mouse-tool in the hosting editor kit ; this is mainly for mousetools using more than one sequence, for it gives them a chance to clean themselves up for the next time
 void init()
          called when this tool is being activated in the hosting editor kit
 void mouseDragged(PEMouseEvent e)
          set current point
 void mouseMoved(PEMouseEvent e)
          set cursor for canvas, then call mouseDragged
 void mousePressed(PEMouseEvent e)
          A popup-trigger mouse event (e.g. a right click on Unix/Windows) : switches back to SELECT_MODE if the task-iterator is completed or cancels the current task if the task-iterator is underway.
 void paint(Graphics2D g, Rectangle2D allocation, double scale)
          This method is called by the hosting EditorKit : this implementation paints the current element's highlighter.
 void setCurrentPoint(PEMouseEvent e)
          move the points indexed in drawPoints[currentTaskIndex] to the current click-point (possibly after grid alignment).
 
Methods inherited from class jpicedt.graphic.toolkit.MouseTool
getLastMouseEvent, keyPressed, keyReleased, mouseClicked, mouseEntered, mouseExited, mouseReleased, processKeyEvent
 
Methods inherited from class java.awt.event.KeyAdapter
keyTyped
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DrawToolFactory.GenericDrawTool

public DrawToolFactory.GenericDrawTool(Element prototype,
                                       EditPointConstraint.EditConstraint constraint,
                                       int[][] drawPoints)
Parameters:
prototype - the Element that will serve as the prototype (getting cloned, then added to the drawing).
constraint - which constraint to use when moving control-points
drawPoints - an array of array of point indexes which the iterator will iterate through (in ascending order) to draw the element (at each iteration, the corresponding list of points will be updated together).
See Also:
Element.setCtrlPt(int, jpicedt.graphic.PicPoint)

DrawToolFactory.GenericDrawTool

public DrawToolFactory.GenericDrawTool(Element prototype,
                                       EditPointConstraint.EditConstraint constraint)
The drawPoints array gets computed from all available control-points for the given element.

Parameters:
prototype - the Element that will serve as the prototype (getting cloned, then added to the drawing).
constraint - Point edition constraint to be fulfilled during edition
Method Detail

mousePressed

public void mousePressed(PEMouseEvent e)
A popup-trigger mouse event (e.g. a right click on Unix/Windows) : A left- or middle-button SINGLE click either : author: Sylvain Reynal

Specified by:
mousePressed in interface PEMouseInputListener
Overrides:
mousePressed in class MouseTool
Since:
jPicEdt

mouseDragged

public void mouseDragged(PEMouseEvent e)
set current point

Specified by:
mouseDragged in interface PEMouseInputListener
Overrides:
mouseDragged in class MouseTool

mouseMoved

public void mouseMoved(PEMouseEvent e)
set cursor for canvas, then call mouseDragged

Specified by:
mouseMoved in interface PEMouseInputListener
Overrides:
mouseMoved in class MouseTool

setCurrentPoint

public void setCurrentPoint(PEMouseEvent e)
move the points indexed in drawPoints[currentTaskIndex] to the current click-point (possibly after grid alignment).


init

public void init()
called when this tool is being activated in the hosting editor kit

Overrides:
init in class MouseTool

flush

public void flush()
called when this tool is being replaced by another mouse-tool in the hosting editor kit ; this is mainly for mousetools using more than one sequence, for it gives them a chance to clean themselves up for the next time

Overrides:
flush in class MouseTool

paint

public void paint(Graphics2D g,
                  Rectangle2D allocation,
                  double scale)
This method is called by the hosting EditorKit : this implementation paints the current element's highlighter.

Overrides:
paint in class MouseTool

http://www.jpicedt.org

Submit a bug : syd@jpicedt.org