jsynoptic.builtin
Class PolygonShape

java.lang.Object
  extended by simtools.shapes.AbstractShape
      extended by jsynoptic.builtin.Abstract1DShape
          extended by jsynoptic.builtin.Abstract2DShape
              extended by jsynoptic.builtin.PolygonShape
All Implemented Interfaces:
java.awt.Shape, java.io.Serializable, java.lang.Cloneable, ContextualActionProvider, Linkable, SelectionContextualActionProvider, AffineTransformData.Listener, DataSourceListener, EndNotificationListener, Resizable, NamedProperties

public class PolygonShape
extends Abstract2DShape

The Polygon shape handles regular or user defined polygons, together with the corresponding properties dialog. It delegates internally to java.awt.Polygon

See Also:
Serialized Form

Nested Class Summary
static class PolygonShape.PolygonShapePropertiesNames
           
 
Nested classes/interfaces inherited from class jsynoptic.builtin.Abstract2DShape
Abstract2DShape.Abstract2DShapePropertiesNames
 
Nested classes/interfaces inherited from class jsynoptic.builtin.Abstract1DShape
Abstract1DShape.Abstract1DShapePropertiesNames
 
Nested classes/interfaces inherited from class simtools.shapes.AbstractShape
AbstractShape.AbstractShapePropertiesNames
 
Field Summary
protected  java.awt.Polygon polygon
           
protected  boolean regular
           
static java.util.ResourceBundle resources
           
protected  double[] x
           
protected  double[] y
           
 
Fields inherited from class jsynoptic.builtin.Abstract2DShape
dirtyFillColor, fillColor, fillDynamicColor, fillMapper, fillMapperIndex, fillMapperSource
 
Fields inherited from class jsynoptic.builtin.Abstract1DShape
allowResize, bounds2D, delegateEndNotificationListener, dirty, dirtyDrawColor, dirtyRectangle, drawColor, drawDynamicColor, drawMapper, drawMapperIndex, drawMapperSource, fixedRatio, link, MIN_SIZE, ratio, stroke, strokeParams, transform
 
Fields inherited from class simtools.shapes.AbstractShape
_h, _ox, _oy, _propertyNames, _w, _x, _y, ANTI_ALIASING, currentDialogBox, FONT_NAMES, listeners, REFRESH_PERIOD
 
Fields inherited from interface jsynoptic.base.ContextualActionProvider
EDITOR_CONTEXT, MOUSE_OUT_CONTEXT, MOUSE_OVER_CONTEXT, MOUSE_PRESSED_CONTEXT, SHAPELIST_CONTEXT, SOURCELIST_CONTEXT
 
Constructor Summary
PolygonShape(int ox, int oy, int width, int height)
           
 
Method Summary
protected  AbstractShape cloneShape()
          Performs a copy of the shape This method has to be overriden to deal with concrete shapes
 JPropertiesPanel createPanel()
           
 boolean doAction(double x, double y, java.lang.Object o, java.lang.String action, javax.swing.undo.CompoundEdit undoableEdit)
          Do one of the actions previously declared by getAction.
 java.lang.String[] getActions(double x, double y, java.lang.Object o, int context)
          Return list of possible actions the contect information may be used, or not.
protected  java.awt.Shape getDelegateShape()
           
 java.lang.String[] getPropertyNames()
          Get the list of property names
 java.lang.Object getPropertyValue(java.lang.String name)
          Get the value of the property named name
 void resize(int dx, int dy)
          Resize the component
 void setAnchor(int ox, int oy)
           
 void setPropertyValue(java.lang.String name, java.lang.Object value)
          Assigns value to the property named name
 void setRegular(int edges)
           
 void translate(int dx, int dy)
          Translates the shape
protected  void updatePolygon()
           
 
Methods inherited from class jsynoptic.builtin.Abstract2DShape
createPanel, DataSourceIndexRangeChanged, DataSourceReplaced, DataSourceValueChanged, draw, fillHook, getFillColor, notificationEnd, setDelegateEndNotificationListener
 
Methods inherited from class jsynoptic.builtin.Abstract1DShape
canDoAction, canResize, contains, contains, contains, contains, DataSourceInfoChanged, DataSourceOrderChanged, DataSourceValueRangeChanged, doCollectiveAction, drawHook, getBounds, getBounds2D, getCollectiveActions, getDelegateEndNotificationListener, getDrawColor, getDx, getDy, getLink, getPathIterator, getPathIterator, intersects, intersects, setLink, updateBounds, updateTransform
 
Methods inherited from class simtools.shapes.AbstractShape
addListener, getAnchor, getInnerProperties, getMax, getMaxTranslated, getMin, notifyChange, notifyChange, refresh, removeListener, setAnchor, setProperties, wipeOff
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface simtools.data.DataSourceListener
DataSourceInfoChanged, DataSourceOrderChanged, DataSourceValueRangeChanged
 

Field Detail

resources

public static java.util.ResourceBundle resources

polygon

protected transient java.awt.Polygon polygon

x

protected double[] x

y

protected double[] y

regular

protected boolean regular
Constructor Detail

PolygonShape

public PolygonShape(int ox,
                    int oy,
                    int width,
                    int height)
Parameters:
ox -
oy -
width -
height -
Method Detail

getDelegateShape

protected java.awt.Shape getDelegateShape()
Specified by:
getDelegateShape in class Abstract1DShape

setRegular

public void setRegular(int edges)

updatePolygon

protected void updatePolygon()

translate

public void translate(int dx,
                      int dy)
Description copied from class: AbstractShape
Translates the shape

Overrides:
translate in class Abstract1DShape

setAnchor

public void setAnchor(int ox,
                      int oy)
Overrides:
setAnchor in class Abstract1DShape

resize

public void resize(int dx,
                   int dy)
Description copied from interface: Resizable
Resize the component

Specified by:
resize in interface Resizable
Overrides:
resize in class Abstract1DShape
Parameters:
dx - value on x axis
dy - value on y axis

createPanel

public JPropertiesPanel createPanel()
Overrides:
createPanel in class Abstract1DShape

getActions

public java.lang.String[] getActions(double x,
                                     double y,
                                     java.lang.Object o,
                                     int context)
Description copied from interface: ContextualActionProvider
Return list of possible actions the contect information may be used, or not.

Specified by:
getActions in interface ContextualActionProvider
Overrides:
getActions in class Abstract1DShape
Parameters:
x - Coordinate, mouse position in the same unit as contains(x,y)
y - Coordinate, mouse position in the same unit as contains(x,y)
o - Object the actions should work on. Possibly null => default or all actions
context - one of the context defined in the ContextualActionProvider class
Returns:
The list of possible actions, possibly null or an empty array

doAction

public boolean doAction(double x,
                        double y,
                        java.lang.Object o,
                        java.lang.String action,
                        javax.swing.undo.CompoundEdit undoableEdit)
Description copied from interface: ContextualActionProvider
Do one of the actions previously declared by getAction.

Specified by:
doAction in interface ContextualActionProvider
Overrides:
doAction in class Abstract1DShape
Parameters:
x - Coordinate, for example mouse position
y - Coordinate, for example mouse position
o - Object the action should work on.
action - An action returned by a previous getActions call with the same x, y, o parameters It may be null, in which case the default action is requested for this x,y,o.
undoableEdit - current edit for undo/redo operation If not null, this action is undoable.
Returns:
true if the action could be performed

cloneShape

protected AbstractShape cloneShape()
Description copied from class: Abstract2DShape
Performs a copy of the shape This method has to be overriden to deal with concrete shapes

Overrides:
cloneShape in class Abstract2DShape
Returns:
a copy of the shape

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.String name)
Description copied from class: AbstractShape
Get the value of the property named name

Specified by:
getPropertyValue in interface NamedProperties
Overrides:
getPropertyValue in class Abstract2DShape
Parameters:
name - the name of the property to get
Returns:
the property value
See Also:
AbstractShape.getPropertyValue(String)

setPropertyValue

public void setPropertyValue(java.lang.String name,
                             java.lang.Object value)
Description copied from class: AbstractShape
Assigns value to the property named name

Specified by:
setPropertyValue in interface NamedProperties
Overrides:
setPropertyValue in class Abstract2DShape
Parameters:
name - the name of the property to get
value - its new value
See Also:
AbstractShape.setPropertyValue(String, Object)

getPropertyNames

public java.lang.String[] getPropertyNames()
Description copied from interface: NamedProperties
Get the list of property names

Specified by:
getPropertyNames in interface NamedProperties
Overrides:
getPropertyNames in class Abstract2DShape