org.processmining.framework.ui
Class ProMImageView

java.lang.Object
  extended by javax.swing.text.View
      extended by org.processmining.framework.ui.ProMImageView
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.util.EventListener, javax.swing.SwingConstants

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


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
ProMImageView(java.lang.String URLBase, javax.swing.text.Element elem)
          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.
 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)
           
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)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
          Select or grow image when clicked.
 void mouseReleased(java.awt.event.MouseEvent e)
           
 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 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

ProMImageView

public ProMImageView(java.lang.String URLBase,
                     javax.swing.text.Element elem)
Creates a new view that represents an IMG element.

Parameters:
elem - the element to create a view for
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.

Overrides:
getAttributes in class javax.swing.text.View

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.

Overrides:
setParent in class javax.swing.text.View

changedUpdate

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

Overrides:
changedUpdate in class javax.swing.text.View

paint

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

Specified by:
paint in class javax.swing.text.View
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.


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)
Specified by:
imageUpdate in interface java.awt.image.ImageObserver

getPreferredSpan

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

Specified by:
getPreferredSpan in class javax.swing.text.View
Parameters:
axis - may be either X_AXIS or Y_AXIS

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.

Overrides:
getAlignment in class javax.swing.text.View
Parameters:
axis - may be either X_AXIS or Y_AXIS

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.

Specified by:
modelToView in class javax.swing.text.View
Parameters:
pos - the position to convert
a - the allocated region to render into
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:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

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.

Specified by:
viewToModel in class javax.swing.text.View
Parameters:
x - the X coordinate
y - the Y coordinate
a - the allocated region to render into
Returns:
the location within the model that best represents the given point of view
See Also:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

setSize

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

Overrides:
setSize in class javax.swing.text.View
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

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

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

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

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

getStyleSheet

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