fr.ens.transcriptome.doelan.gui
Class MyImageView

java.lang.Object
  extended byjavax.swing.text.View
      extended byfr.ens.transcriptome.doelan.gui.MyImageView
All Implemented Interfaces:
java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, javax.swing.SwingConstants

public class MyImageView
extends javax.swing.text.View
implements java.awt.image.ImageObserver, java.awt.event.MouseListener, java.awt.event.MouseMotionListener

Image viewer

Author:
Laurent Jourdren

Field Summary
static java.lang.String ABSMIDDLE
           
static java.lang.String BOTTOM
           
static java.lang.String CENTER
           
static java.lang.String MIDDLE
           
static java.lang.String TEXTTOP
           
static java.lang.String TOP
           
 
Fields inherited from class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Fields inherited from interface javax.swing.SwingConstants
EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TRAILING, VERTICAL, WEST
 
Constructor Summary
MyImageView(javax.swing.text.Element elem, java.util.Map mapImage)
          Creates a new view that represents an IMG element.
 
Method Summary
 void changedUpdate(javax.swing.event.DocumentEvent e, java.awt.Shape a, javax.swing.text.ViewFactory f)
          My attributes may have changed.
 float getAlignment(int axis)
          Determines the desired alignment for this view along an axis.
 javax.swing.text.AttributeSet getAttributes()
          Fetches the attributes to use when rendering.
protected  java.awt.Color getHighlightColor()
          Returns the text editor's highlight color.
 java.util.Map getMapImages()
          Get the map of the images.
 float getPreferredSpan(int axis)
          Determines the preferred span for this view along an axis.
protected  int getSelectionState()
          Determines whether the image is selected, and if it's the only thing selected.
protected  javax.swing.text.html.StyleSheet getStyleSheet()
           
 boolean imageUpdate(java.awt.Image img, int flags, int x, int y, int width, int height)
          Update the image.
protected  boolean isEditable()
           
 java.awt.Shape modelToView(int pos, java.awt.Shape a, javax.swing.text.Position.Bias b)
          Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
 void mouseClicked(java.awt.event.MouseEvent e)
          On double-click, open image properties dialog.
 void mouseDragged(java.awt.event.MouseEvent e)
          Resize image if initial click was in grow-box:
 void mouseEntered(java.awt.event.MouseEvent e)
          Mouse event
 void mouseExited(java.awt.event.MouseEvent e)
          Mouse event
 void mouseMoved(java.awt.event.MouseEvent e)
          Mouse event
 void mousePressed(java.awt.event.MouseEvent e)
          Select or grow image when clicked.
 void mouseReleased(java.awt.event.MouseEvent e)
          Mouse event
 void paint(java.awt.Graphics g, java.awt.Shape a)
          Paints the image.
protected  void repaint(long delay)
          Request that this view be repainted.
protected  void resize(int width, int height)
          Change the size of this image.
 void setMapImages(java.util.Map mapImages)
          Set the map of the images.
 void setParent(javax.swing.text.View parent)
          Establishes the parent view for this view.
 void setSize(float width, float height)
          Set the size of the view.
 int viewToModel(float x, float y, java.awt.Shape a, javax.swing.text.Position.Bias[] bias)
          Provides a mapping from the view coordinate space to the logical coordinate space of the model.
 
Methods inherited from class javax.swing.text.View
append, breakView, createFragment, forwardUpdate, forwardUpdateToView, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, updateChildren, updateLayout, viewToModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOP

public static final java.lang.String TOP
See Also:
Constant Field Values

TEXTTOP

public static final java.lang.String TEXTTOP
See Also:
Constant Field Values

MIDDLE

public static final java.lang.String MIDDLE
See Also:
Constant Field Values

ABSMIDDLE

public static final java.lang.String ABSMIDDLE
See Also:
Constant Field Values

CENTER

public static final java.lang.String CENTER
See Also:
Constant Field Values

BOTTOM

public static final java.lang.String BOTTOM
See Also:
Constant Field Values
Constructor Detail

MyImageView

public MyImageView(javax.swing.text.Element elem,
                   java.util.Map mapImage)
Creates a new view that represents an IMG element.

Parameters:
elem - the element to create a view for
mapImage - The map with all the images
Method Detail

getAttributes

public javax.swing.text.AttributeSet getAttributes()
Fetches the attributes to use when rendering. This is implemented to multiplex the attributes specified in the model with a StyleSheet.

Returns:
The attributes

setParent

public void setParent(javax.swing.text.View parent)
Establishes the parent view for this view. Seize this moment to cache the AWT Container I'm in.

Parameters:
parent - The parent of this view

changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent e,
                          java.awt.Shape a,
                          javax.swing.text.ViewFactory f)
My attributes may have changed.

Parameters:
e - DocumentEvent
a - Shape
f - View factory

paint

public void paint(java.awt.Graphics g,
                  java.awt.Shape a)
Paints the image.

Parameters:
g - the rendering surface to use
a - the allocated region to render into
See Also:
View.paint(java.awt.Graphics, java.awt.Shape)

repaint

protected void repaint(long delay)
Request that this view be repainted. Assumes the view is still at its last-drawn location.

Parameters:
delay - Delay to repaint

getSelectionState

protected int getSelectionState()
Determines whether the image is selected, and if it's the only thing selected.

Returns:
0 if not selected, 1 if selected, 2 if exclusively selected. "Exclusive" selection is only returned when editable.

isEditable

protected boolean isEditable()

getHighlightColor

protected java.awt.Color getHighlightColor()
Returns the text editor's highlight color.


imageUpdate

public boolean imageUpdate(java.awt.Image img,
                           int flags,
                           int x,
                           int y,
                           int width,
                           int height)
Update the image.

Specified by:
imageUpdate in interface java.awt.image.ImageObserver
Parameters:
img - Image
flags - Flags
x - X coordinate
y - Y coordinate
width - Width
height - Height
Returns:
true if no need to repaint

getPreferredSpan

public float getPreferredSpan(int axis)
Determines the preferred span for this view along an axis.

Parameters:
axis - may be either X_AXIS or Y_AXIS
Returns:
the span the view would like to be rendered into. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view.

getAlignment

public float getAlignment(int axis)
Determines the desired alignment for this view along an axis. This is implemented to give the alignment to the bottom of the icon along the y axis, and the default along the x axis.

Parameters:
axis - may be either X_AXIS or Y_AXIS
Returns:
the desired alignment. This should be a value between 0.0 and 1.0 where 0 indicates alignment at the origin and 1.0 indicates alignment to the full span away from the origin. An alignment of 0.5 would be the center of the view.

modelToView

public java.awt.Shape modelToView(int pos,
                                  java.awt.Shape a,
                                  javax.swing.text.Position.Bias b)
                           throws javax.swing.text.BadLocationException
Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.

Parameters:
pos - the position to convert
a - the allocated region to render into
b - ???
Returns:
the bounding box of the given position
Throws:
javax.swing.text.BadLocationException - if the given position does not represent a valid location in the associated document
See Also:
modelToView

viewToModel

public int viewToModel(float x,
                       float y,
                       java.awt.Shape a,
                       javax.swing.text.Position.Bias[] bias)
Provides a mapping from the view coordinate space to the logical coordinate space of the model.

Parameters:
x - the X coordinate
y - the Y coordinate
a - the allocated region to render into
bias - ???
Returns:
the location within the model that best represents the given point of view
See Also:
viewToModel

setSize

public void setSize(float width,
                    float height)
Set the size of the view. (Ignored.)

Parameters:
width - the width
height - the height

resize

protected void resize(int width,
                      int height)
Change the size of this image. This alters the HEIGHT and WIDTH attributes of the Element and causes a re-layout.


mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Select or grow image when clicked.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - Mouse event.

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Resize image if initial click was in grow-box:

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Parameters:
e - Mouse event

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Mouse event

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - Mouse event

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
On double-click, open image properties dialog.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - Mouse event

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Mouse event

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - Mouse event

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Mouse event

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Parameters:
e - Mouse event

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Mouse event

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - Mouse event

getStyleSheet

protected javax.swing.text.html.StyleSheet getStyleSheet()

getMapImages

public java.util.Map getMapImages()
Get the map of the images.

Returns:
Returns the mapImages

setMapImages

public void setMapImages(java.util.Map mapImages)
Set the map of the images.

Parameters:
mapImages - The mapImages to set


Copyright © 2004-2005 École Normale Supérieure Microarray Platform. All Rights Reserved.