Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| http://www.jpicedt.org
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jpicedt.graphic.toolkit
Class EditPointMouseTransformFactory

    java.lang.Object
      jpicedt.graphic.toolkit.AbstractMouseTransformFactory
          jpicedt.graphic.toolkit.EditPointMouseTransformFactory

All Implemented Interfaces:
  MouseTransformFactory

public class EditPointMouseTransformFactory
extends AbstractMouseTransformFactory

A factory that produces MouseTransform's that may be plugged into the SelectionTool mouse-tool. MouseTransform's created by this factory are dedicated to editing points of Elements which either support a variable number of points (e.g. AbstractCurve and subclasses), and/or whose point possess specific geometric feature (e.g. smoothness/symmetry for PicMultiCurve, smoothness coefficient for PicSmoothPolygon,...). So far, only AbstractCurve's are supported by the current implementation.

Since:
  jPicEdt 1.4
Version:
  $Id: EditPointMouseTransformFactory.java,v 1.17.2.1 2007/09/02 11:56:28 reynal Exp $
Author:
  Sylvain Reynal

Nested Class Summary
`protected class` | `EditPointMouseTransformFactory.EditSmoothCoeffTransform` a mouse-transform that edit smooth-coefficients for a PicSmoothPolygon (edit ALL selected points at once)
`protected class` | `EditPointMouseTransformFactory.RemovePointTransform` a mouse-transform that removes selected points to/from extensible curves or parallelogram/ellipses after conversion to a multicurve.
`protected class` | `EditPointMouseTransformFactory.SelectedPointsHandler` Helper class for SelectPointsInAreaTransform.
`protected class` | `EditPointMouseTransformFactory.SelectElementTransform`
`protected class` | `EditPointMouseTransformFactory.SelectPointsInAreaTransform` a mouse-transform that selects all elements inside a rectangle dragged by the user
`protected class` | `EditPointMouseTransformFactory.SplitSegmentTransform` a mouse-transform that add points to extensible curves
`protected class` | `EditPointMouseTransformFactory.UnSelectPointTransform` a mouse-transform that unselects points

Nested classes inherited from class jpicedt.graphic.toolkit.AbstractMouseTransformFactory
`AbstractMouseTransformFactory.HelpMessageMouseTransform, AbstractMouseTransformFactory.InvalidMouseTransform, AbstractMouseTransformFactory.SelectAreaTransform`

Constructor Summary
`EditPointMouseTransformFactory(EditorKit kit)`

Method Summary
`MouseTransform` | `createMouseTransform(PEMouseEvent e)` Return a MouseTransform whose type is adequate with the given mouse-event.
`void` | `flush()` called when the associated SelectionTool is being deactivated in the hosting EditorKit.
`EditPointMouseTransformFactory.SelectedPointsHandler` | `getSelectedPointsHandler()` Returns a reference to the current SelectedPointsHandler
`void` | `init()` called when the associated SelectionTool is being activated in the hosting EditorKit.
`protected boolean` | `isValidTarget(Element e)` Return true is the given element is a valid target for this factory.
`void` | `paint(Graphics2D g, Rectangle2D allocation, double scale)` Allows this EditPointMouseTransformFactory to do specific graphic rendering when it's installed in a hosting SelectionTool.

Methods inherited from class jpicedt.graphic.toolkit.AbstractMouseTransformFactory
`getEditorKit`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### EditPointMouseTransformFactory

    public EditPointMouseTransformFactory(EditorKit kit)

Parameters:
  `kit` - the hosting editor-kit

Method Detail

### getSelectedPointsHandler

    public EditPointMouseTransformFactory.SelectedPointsHandler getSelectedPointsHandler()

  Returns a reference to the current SelectedPointsHandler

### isValidTarget

    protected boolean isValidTarget(Element e)

  Return true is the given element is a valid target for this factory.

### paint

    public void paint(Graphics2D g,
                      Rectangle2D allocation,
                      double scale)

  Allows this EditPointMouseTransformFactory to do specific graphic rendering when it's installed in a hosting SelectionTool. This implementation renders selected points using a specific highlighter (which superimposes to the standard highlighter).

  Specified by:
    `paint` in interface `MouseTransformFactory`
  Overrides:
    `paint` in class `AbstractMouseTransformFactory`
  Since:
    jpicedt 1.4

### init

    public void init()

  called when the associated SelectionTool is being activated in the hosting EditorKit. This cleans up the state of the underlying SelectionPointsHandler, and checks for the state of the current selection (ie EditorKit's selection handler) to be adequate with the mouse-transform's created by this factory. This means in particular that only one Element may be selected, and that (so far) it MUST be an instance of AbstractCurve. Besides, highlightingMode is forced to LOCAL_MODE, so that curve's control-points are visible ("green squares").

  Specified by:
    `init` in interface `MouseTransformFactory`
  Overrides:
    `init` in class `AbstractMouseTransformFactory`

### flush

    public void flush()

  called when the associated SelectionTool is being deactivated in the hosting EditorKit. this simply cleans up the state of the underlying SelectionPointsHandler.

  Specified by:
    `flush` in interface `MouseTransformFactory`
  Overrides:
    `flush` in class `AbstractMouseTransformFactory`

### createMouseTransform

    public MouseTransform createMouseTransform(PEMouseEvent e)

  Return a MouseTransform whose type is adequate with the given mouse-event. This can be null if no MouseTransform matches the given event.

  Basically, we work with the following modifiers : Shift, Control, Alt. Other modifiers must be excluded, given their poor support on MacOS platforms, and their odd behaviours on some Unices. Similarly, double-click events should be avoided since these are rather hard to deal with seeing that a single-click event is ALWAYS posted beforehands.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| http://www.jpicedt.org
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug : syd@jpicedt.org