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.view
Class DefaultViewFactory.TextView

    java.lang.Object
      jpicedt.graphic.view.AbstractView
          jpicedt.graphic.view.DefaultViewFactory.LeafElementView
              jpicedt.graphic.view.DefaultViewFactory.TextView

All Implemented Interfaces:
  View, ViewConstants

Direct Known Subclasses:
  EepicViewFactory.TextView

Enclosing class:
  DefaultViewFactory

public class DefaultViewFactory.TextView
extends DefaultViewFactory.LeafElementView

a View for rendering Text's from TextLayout's

Field Summary
`protected double` | `strx` TextLayout location with respect to PicText's anchor point
`protected double` | `stry` TextLayout location with respect to PicText's anchor point
`protected TextLayout` | `textLayout` the TextLayout that renders the text string of this TextEditable
`protected AffineTransform` | `tl2ModelTr`

Fields inherited from class jpicedt.graphic.view.DefaultViewFactory.LeafElementView
`interiorPaint, lineWidth, outlinePaint, outlineStroke, overStrikeWidth, shadowBounds, shape`

Fields inherited from class jpicedt.graphic.view.AbstractView
`bounds, element, highlighter`

Fields inherited from interface jpicedt.graphic.view.ViewConstants
`BARBELL_SIZE, CLICK_DISTANCE`

Constructor Summary
`DefaultViewFactory.TextView(PicText te)` construct a new View for the given PicRectangle

Method Summary
`void` | `changedUpdate(DrawingEvent.EventType eventType)` Give notification from the model that a change occured to the text this view is responsible for rendering.
`protected double` | `getRotation()` Returns the text rotation in radians : subclassers that don't support rotating text may return 0 here.
`TextLayout` | `getTextLayout()` [SR:pending] make this view implement aka TextEditableView interface (or something like it), where TextEditableView is a subinterface of View with text-editing specific capabilities.
`AffineTransform` | `getTextToModelTransform()` Return an affine transform which translat b/w the TextLayout coordinate system and the jpicedt.graphic.model coordinate system.
`HitInfo` | `hitTest(PEMouseEvent e)` This implementation calls `super.hitTest` and returns the result if non-null (this should be a HitInfo.Point), then returns a HitInfo.Interior if the mouse-click occured inside the text bound (as defined by text layout)
`void` | `paint(Graphics2D g, Rectangle2D a)` Render the View to the given graphic context.
`protected void` | `syncBounds()` Synchronizes bounding box with the model ;
`protected void` | `syncFrame()` synchronize frame shape and location
`protected void` | `syncShape()` Synchronize the textLayout and the shape (=frame box, by calling syncFrame) with the model This delegates to getRotation() where computing rotation angle is concerned, and updates the AffineTransform returned by getTextToModelTransform().
`protected void` | `syncStringLocationX()` update strx = x-location of TextLayout's bottom-Left corner with respect to PicText's anchor-point
`protected void` | `syncStringLocationY()` update strx = y-location of TextLayout's bottom-Left corner with respect to PicText's anchor-point

Methods inherited from class jpicedt.graphic.view.DefaultViewFactory.LeafElementView
`getViewFactory, syncAttributes`

Methods inherited from class jpicedt.graphic.view.AbstractView
`getBounds, getContainer, getDrawing, getElement, getGraphics, getHighlighter, getParentView, hitTest, paintHighlighter, repaint, setElement, setHighlighter`

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

Field Detail

### textLayout

    protected TextLayout textLayout

  the TextLayout that renders the text string of this TextEditable

### strx

    protected double strx

  TextLayout location with respect to PicText's anchor point

### stry

    protected double stry

  TextLayout location with respect to PicText's anchor point

### tl2ModelTr

    protected AffineTransform tl2ModelTr

Constructor Detail

### DefaultViewFactory.TextView

    public DefaultViewFactory.TextView(PicText te)

  construct a new View for the given PicRectangle

Method Detail

### changedUpdate

    public void changedUpdate(DrawingEvent.EventType eventType)

  Give notification from the model that a change occured to the text this view is responsible for rendering.

  Specified by:
    `changedUpdate` in interface `View`
  Overrides:
    `changedUpdate` in class `DefaultViewFactory.LeafElementView`

### getRotation

    protected double getRotation()

  Returns the text rotation in radians : subclassers that don't support rotating text may return 0 here.

### syncShape

    protected void syncShape()

  Synchronize the textLayout and the shape (=frame box, by calling syncFrame) with the model This delegates to getRotation() where computing rotation angle is concerned, and updates the AffineTransform returned by getTextToModelTransform().

  Overrides:
    `syncShape` in class `DefaultViewFactory.LeafElementView`

### syncBounds

    protected void syncBounds()

  Synchronizes bounding box with the model ;

  Overrides:
    `syncBounds` in class `DefaultViewFactory.LeafElementView`

### syncFrame

    protected void syncFrame()

  synchronize frame shape and location

### syncStringLocationX

    protected void syncStringLocationX()

  update strx = x-location of TextLayout's bottom-Left corner with respect to PicText's anchor-point

### syncStringLocationY

    protected void syncStringLocationY()

  update strx = y-location of TextLayout's bottom-Left corner with respect to PicText's anchor-point

### paint

    public void paint(Graphics2D g,
                      Rectangle2D a)

  Render the View to the given graphic context. This implementation render the interior first, then the outline.

  Specified by:
    `paint` in interface `View`
  Overrides:
    `paint` in class `DefaultViewFactory.LeafElementView`
  Parameters:
    `a` - the current graphic clip

### hitTest

    public HitInfo hitTest(PEMouseEvent e)

  This implementation calls `super.hitTest` and returns the result if non-null (this should be a HitInfo.Point), then returns a HitInfo.Interior if the mouse-click occured inside the text bound (as defined by text layout)

  Overrides:
    `hitTest` in class `DefaultViewFactory.LeafElementView`
  Returns:
    a HitInfo corresponding to the given mouse-event

### getTextLayout

    public TextLayout getTextLayout()

  [SR:pending] make this view implement aka TextEditableView interface (or something like it), where TextEditableView is a subinterface of View with text-editing specific capabilities. Returns the TextLayout which is responsible for painting the textual content of this element

### getTextToModelTransform

    public AffineTransform getTextToModelTransform()

  Return an affine transform which translat b/w the TextLayout coordinate system and the jpicedt.graphic.model coordinate system. [SR:pending] refactor method name to something more explanatory

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