Package ucar.unidata.ui.symbol
Class MetSymbol
java.lang.Object
ucar.unidata.ui.drawing.Glyph
ucar.unidata.ui.drawing.RectangleGlyph
ucar.unidata.ui.symbol.MetSymbol
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
CloudCoverageSymbol
,ShapeSymbol
,TextSymbol
,ThreeDCrossSymbol
,WeatherSymbol
,WindBarbSymbol
Class MetSymbol
- Version:
- $Revision: 1.60 $
- Author:
- Unidata development team
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Symbol type attributeprotected StationModelCanvas
The canvas we are inprotected PropertiesDialog
symbol properties dialogFields inherited from class ucar.unidata.ui.drawing.RectangleGlyph
ATTR_RECTTYPE, bounds, CIRCLE, FCIRCLE, FRECTANGLE, FROUNDRECT, RECTANGLE, ROUNDRECT, TYPE_CIRCLE, TYPE_RECT, TYPE_RRECT
Fields inherited from class ucar.unidata.ui.drawing.Glyph
ATTR_BGCOLOR, ATTR_CHILDREN, ATTR_CLASS, ATTR_COLOR, ATTR_FILL, ATTR_HEIGHT, ATTR_IMAGE, ATTR_LINEWIDTH, ATTR_PARENT, ATTR_PTS, ATTR_STRETCHY, ATTR_TEXT, ATTR_TYPE, ATTR_WIDTH, baseline, H_SEL_WIDTH, highlightColor, idToGlyph, MIN_DISTANCE_TO_STRETCH, PT_CENTER, PT_H_LEFT, PT_H_MIDDLE, PT_H_RIGHT, PT_LL, PT_LM, PT_LR, PT_ML, PT_MM, PT_MR, PT_P1, PT_P2, PT_PREFIX, PT_UL, PT_UM, PT_UR, PT_V_LOWER, PT_V_MIDDLE, PT_V_UPPER, RECTPOINTNAMES, RECTPOINTS, SEL_WIDTH, TAG_GLYPH, underline, url
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPropertyTabs
(JTabbedPane tabbedPane) Add extra components to the property tabprotected void
Called by the PropertiesDialog to apply any special propertiesprotected Object
clone()
Clone this objectcloneMe()
Return a clone of this object.void
Close the properties dialog if it is open.void
decrSize()
Increase the size of thisMetSymbol
.boolean
Determine whether thisMetSymbol
should show an alignment menu in an editor.boolean
doAllObs()
Called by the StationModelDisplayable to determine if the shapes should be created with a call to makeShapes(PointOb).abstract void
draw
(Graphics2D g, int x, int y, int width, int height) Draw the symbol, offset from the given location, using "normalized device" coordinates.void
draw
(Graphics2D g, Point2D loc) This is called to paint when we are managed by other objects (e.g., StationLocationRenderer)boolean
Get whether thisMetSymbol
is active or not.Get the bounds for thisMetSymbol
relative to the point specified.Get the ColorMappings property.Get the ColorParam property.Get the ColorTable property.Get the ColorTableParam property.Get the ColorTableRange property.Get the the colorTable unit.Get the name of the colorTable unit.getDesc()
Get the description of thisMetSymbol
.Get the the display unit.Get the name of the display unit.getLabel()
Get the label to show the user what I am in the propertiesboolean
Get whether thisMetSymbol
is missing or not.getName()
Get the name of thisMetSymbol
.getParam
(int index) Get the parameter at the index specified.String[]
Get the parameter descriptions for thisMetSymbol
.String[]
Get the parameter ids for thisMetSymbol
.getParamValue
(int index) Get the parameter value at the index specified.Get the point at which this object is alligned.getRotateInfo
(int type) Get the rotate info object for the given type.Get the RotateXInfo property.Get the RotateYInfo property.Get the RotateZInfo property.double
getScale()
Get the Scale property.Get the ScaleRange property.Get the ScaleParam property.Get the ScaleRange property.Get the the scale unit.Get the name of the scale unit.int
Get the x value of the offset.int
Get the y value of the offset.void
incrSize()
Increase the size of thisMetSymbol
.void
initialize
(Element symbolNode) Initialize this symbol from the xml that defined it.protected void
initPropertyComponents
(List comps) Add to the list any widgets that should be added to the basic properties dialog tab.makeShapes
(PointOb ob) If doAllObs returns true then this method is called to create the shapes.makeShapes
(Data[] dataArray, PointOb ob) If this symbol is not one of the 'known' symbols then this method is called to create the shapes.void
paint
(Graphics g, DisplayCanvas c) This is called to paint within the EditCanvasvoid
Paint the selectionboolean
Can we rotate this symbol when the display rotatesvoid
setActive
(boolean active) Set whether thisMetSymbol
is active or not.void
Set the attribute with the value supplied.void
setColorMappings
(List value) Set the ColorMappings property.void
setColorParam
(String value) Set the ColorParam property.void
setColorTable
(ColorTable value) Set the ColorTable property.void
setColorTableParam
(String value) Set the ColorTableParam property.void
setColorTableRange
(Range value) Set the ColorTableRange property.void
setColorTableUnitName
(String name) Set the name of the ColorTable unit.void
setDisplayUnitName
(String name) Set the name of the display unit.void
setMissing
(boolean missing) Set whether thisMetSymbol
is missing or not.void
setOffset
(int x, int y) Set the offset from the center for thisMetSymbol
.void
setParamDescs
(String[] value) Set the parameter descriptions for thisMetSymbol
.void
setParamIds
(String[] value) Set the parameter ids for thisMetSymbol
.void
setParamValue
(int index, Object v) Set the parameter value at the index specified.void
setRectPoint
(String rp) Set the point at which this object is alligned.void
setRotateDataRange
(Range value) Set the RotateRange property.void
setRotateParam
(String value) Set the RotateParam property.void
setRotateRange
(Range value) Set the RotateRange property.void
setRotateUnitName
(String name) Set the name of the Rotate unit.void
setRotateXInfo
(RotateInfo value) Set the RotateXInfo property.void
setRotateYInfo
(RotateInfo value) Set the RotateYInfo property.void
setRotateZInfo
(RotateInfo value) Set the RotateZInfo property.void
setScale
(double value) Set the Scale property.void
setScaleDataRange
(Range value) Set the ScaleRange property.void
setScaleParam
(String value) Set the ScaleParam property.void
setScaleRange
(Range value) Set the ScaleRange property.void
setScaleUnitName
(String name) Set the name of the Scale unit.void
Set the the display unit.boolean
Is used by the StationModelDisplayable to determine if the color of the shapes should be set.boolean
Is used by the StationModelDisplayable to determine if the shapes should be moved in accordance to the position of this symbol.boolean
Is used by the StationModelDisplayable to determine if the shapes should be scaled.protected boolean
Should the 'Color by' properties dialog tab be shown.protected boolean
Should the 'Rotate by' properties dialog tab be shown.protected boolean
Should the 'Scale by' properties dialog tab be shown.protected boolean
Should we show the display unit widget in the properties dialogvoid
Create, if needed, and show the properties dialog.toString()
Get theString
that represents thisMetSymbol
.Methods inherited from class ucar.unidata.ui.drawing.RectangleGlyph
distance, getBottom, getBounds, getEqualSides, getLeft, getPoint, getPositionAttr, getStretchPoint, getSymetricReshape, getTop, moveBy, moveTo, setPoints, setSize, setType, stretchTo
Methods inherited from class ucar.unidata.ui.drawing.Glyph
boundsChanged, canStretch, distance, doRemove, flipY, getAttrs, getBackground, getBackground, getBeingCreated, getCreateCommand, getCursor, getFilled, getForeground, getId, getLineWidth, getMoveCommand, getPersistent, getPointOnRect, getPointOnRect, getRectPointName, getRepaintBounds, getStretchPoint, getStretchy, getXml, initDone, makeAttr, notifyChange, paintHighlight, paintSelectionPoints, pickable, processAttrs, setBackground, setBeingCreated, setFilled, setForeground, setId, setLineWidth, setParent, setStretchy, stretchTo, stretchTo, toRect, transformOutput, transformOutput, transformOutputX, transformOutputY
-
Field Details
-
ATTR_PARAMID
Symbol type attribute- See Also:
-
canvas
The canvas we are in -
propertiesDialog
symbol properties dialog
-
-
Constructor Details
-
MetSymbol
protected MetSymbol()Default constructor. -
MetSymbol
public MetSymbol(int x, int y) Constructor- Parameters:
x
- Initial x position.y
- Initial y position.
-
MetSymbol
The MetSymbol can be created in two ways. If the canvas is null, it is assumed that x and y are the offsets from the center point. Otherwise, they are relative to the canvas?- Parameters:
canvas
-DisplayCanvas
to draw on. May be null.x
- x position (either offset or canvas relative)y
- y position (either offset or canvas relative)paramIds
- array of parameter idsparamDescs
- array of parameter descriptions (long names)
-
-
Method Details
-
initialize
Initialize this symbol from the xml that defined it.- Parameters:
symbolNode
- The xml node that defines this symbol.
-
showPropertiesDialog
Create, if needed, and show the properties dialog.- Parameters:
canvas
- The canvas we are in.
-
closePropertiesDialog
public void closePropertiesDialog()Close the properties dialog if it is open. -
initPropertyComponents
Add to the list any widgets that should be added to the basic properties dialog tab.- Parameters:
comps
- List containing labels and widgets for the basic properties tab.
-
applyProperties
protected void applyProperties()Called by the PropertiesDialog to apply any special properties -
addPropertyTabs
Add extra components to the property tab- Parameters:
tabbedPane
- Tabbed pane to add to
-
shouldShowColorTableGui
protected boolean shouldShowColorTableGui()Should the 'Color by' properties dialog tab be shown. Subclasses that don't want this done (i.e., ones that create specific color schemes) should override to return false.- Returns:
- Show the color by gui (true).
-
shouldShowRotateGui
protected boolean shouldShowRotateGui()Should the 'Rotate by' properties dialog tab be shown. Subclasses should override to return false if need be.- Returns:
- Show the rotate by gui (true).
-
shouldShowScaleGui
protected boolean shouldShowScaleGui()Should the 'Scale by' properties dialog tab be shown. Subclasses should override to return false if need be.- Returns:
- Show the scale by gui (true).
-
shouldScaleShape
public boolean shouldScaleShape()Is used by the StationModelDisplayable to determine if the shapes should be scaled. Subclasses should override to return false if need be.- Returns:
- Should the shapes be scaled (true).
-
shouldBeColored
public boolean shouldBeColored()Is used by the StationModelDisplayable to determine if the color of the shapes should be set. Subclasses should override this if they create their own color schemes.- Returns:
- Should the shapes be colored
-
shouldOffsetShape
public boolean shouldOffsetShape()Is used by the StationModelDisplayable to determine if the shapes should be moved in accordance to the position of this symbol. Subclasses should override to return false if need be.- Returns:
- Should the shapes be offset
-
doAllObs
public boolean doAllObs()Called by the StationModelDisplayable to determine if the shapes should be created with a call to makeShapes(PointOb).- Returns:
- Should this symbol take the whole PointOb when making its own shapes.
-
makeShapes
If doAllObs returns true then this method is called to create the shapes.- Parameters:
ob
- The observation- Returns:
- The shapes
- Throws:
Exception
- On badness
-
makeShapes
If this symbol is not one of the 'known' symbols then this method is called to create the shapes.- Parameters:
dataArray
- The array of data objects. May have 0 or more data depending on the paramids.ob
- The observation- Returns:
- The shapes
- Throws:
Exception
- On badness
-
doAlignmentMenu
public boolean doAlignmentMenu()Determine whether thisMetSymbol
should show an alignment menu in an editor. Subclasses should override if not.- Returns:
- true
-
setParamIds
Set the parameter ids for thisMetSymbol
.- Parameters:
value
- array of parameter ids
-
getParamIds
Get the parameter ids for thisMetSymbol
.- Returns:
- array of parameter ids
-
setParamDescs
Set the parameter descriptions for thisMetSymbol
. Descriptions are used for UI widgets (labels, combo boxes, etc)- Parameters:
value
- array of parameter descriptions
-
getParamDescs
Get the parameter descriptions for thisMetSymbol
. Descriptions are used for UI widgets (labels, combo boxes, etc)- Returns:
- copy of the array of parameter descriptions
-
setOffset
public void setOffset(int x, int y) Set the offset from the center for thisMetSymbol
.- Parameters:
x
- x offsety
- y offset
-
getXOffset
public int getXOffset()Get the x value of the offset.- Returns:
- x offset from center value.
-
getRectPoint
Get the point at which this object is alligned.- Returns:
- allignment point (e.g. Glyph.PT_MM, PT_LL)
-
setRectPoint
Set the point at which this object is alligned.- Parameters:
rp
- allignment point (e.g. Glyph.PT_MM, Glyph.PT_LL)
-
getYOffset
public int getYOffset()Get the y value of the offset.- Returns:
- y offset from center value.
-
incrSize
public void incrSize()Increase the size of thisMetSymbol
. Subclasses should implement this if they support such a thing. -
decrSize
public void decrSize()Increase the size of thisMetSymbol
. Subclasses should implement this if they support such a thing. -
toString
Get theString
that represents thisMetSymbol
. -
getLabel
Get the label to show the user what I am in the properties- Returns:
- label
-
clone
Clone this object- Overrides:
clone
in classRectangleGlyph
- Returns:
- a clone
- Throws:
CloneNotSupportedException
- if cloning cannot be done
-
cloneMe
Return a clone of this object.- Returns:
- clone
-
getName
Get the name of thisMetSymbol
.- Returns:
- name of first
paramId
-
getDesc
Get the description of thisMetSymbol
.- Returns:
- description of first
paramId
-
getParamValue
Get the parameter value at the index specified. Subclasses need to override this.- Parameters:
index
- index into param array- Returns:
- null since this is the super class
-
setParamValue
Set the parameter value at the index specified. Subclasses need to override this.- Parameters:
index
- index into param arrayv
- value to set at that index.
-
getParam
Get the parameter at the index specified.- Parameters:
index
- index into param array- Returns:
- parameter at index.
-
paint
This is called to paint within the EditCanvas- Overrides:
paint
in classRectangleGlyph
- Parameters:
g
- Graphicsc
- DisplayCanvas to paint on.
-
paintSelection
Paint the selection- Overrides:
paintSelection
in classGlyph
- Parameters:
g
- Graphics to use for paintingc
- DisplayCanvas to paint on
-
getBounds
Get the bounds for thisMetSymbol
relative to the point specified.- Parameters:
loc
- Java coordinates to draw at- Returns:
- Rectangle based on that point, the offset and the width and height of the symbol.
-
draw
This is called to paint when we are managed by other objects (e.g., StationLocationRenderer)- Parameters:
g
- graphics to draw onloc
- location to draw at. Used to normalize the bounds.- See Also:
-
draw
Draw the symbol, offset from the given location, using "normalized device" coordinates. Subclasses implement this based on the behavior of their own instance.- Parameters:
g
- Graphics to draw tox
- x locationy
- y locationwidth
- width to drawheight
- height to draw
-
setActive
public void setActive(boolean active) Set whether thisMetSymbol
is active or not.- Parameters:
active
- true to be active (i.e., visible)
-
getActive
public boolean getActive()Get whether thisMetSymbol
is active or not.- Returns:
- true if active (i.e., visible)
-
setMissing
public void setMissing(boolean missing) Set whether thisMetSymbol
is missing or not. (i.e., no parameters or values have been set.- Parameters:
missing
- true if missing.
-
getMissing
public boolean getMissing()Get whether thisMetSymbol
is missing or not. (i.e., no parameters or values have been set.- Returns:
- true if missing.
-
setAttr
Set the attribute with the value supplied.- Overrides:
setAttr
in classRectangleGlyph
- Parameters:
name
- name of attribute.value
- value of attribute.
-
setColorTable
Set the ColorTable property.- Parameters:
value
- The new value for ColorTable
-
getColorTable
Get the ColorTable property.- Returns:
- The ColorTable
-
setColorTableParam
Set the ColorTableParam property.- Parameters:
value
- The new value for ColorTableParam
-
getColorTableParam
Get the ColorTableParam property.- Returns:
- The ColorTableParam
-
setColorTableUnitName
Set the name of the ColorTable unit. Used by subclasses which have values that can be ColorTableed in different units.- Parameters:
name
- name of unit
-
getColorTableUnitName
Get the name of the colorTable unit.- Returns:
- String representation of the unit name.
May be
null
.
-
getColorTableUnit
Get the the colorTable unit.- Returns:
- Unit used for colorTableing values. May be
null
.
-
setColorTableRange
Set the ColorTableRange property.- Parameters:
value
- The new value for ColorTableRange
-
getColorTableRange
Get the ColorTableRange property.- Returns:
- The ColorTableRange
-
setScaleUnitName
Set the name of the Scale unit. Used by subclasses which have values that can be Scaleed in different units.- Parameters:
name
- name of unit
-
getScaleUnitName
Get the name of the scale unit.- Returns:
- String representation of the unit name.
May be
null
.
-
getScaleUnit
Get the the scale unit.- Returns:
- Unit used for scaleing values. May be
null
.
-
setScaleRange
Set the ScaleRange property.- Parameters:
value
- The new value for ScaleRange
-
getScaleRange
Get the ScaleRange property.- Returns:
- The ScaleRange
-
setScaleDataRange
Set the ScaleRange property.- Parameters:
value
- The new value for ScaleRange
-
getScaleDataRange
Get the ScaleRange property.- Returns:
- The ScaleRange
-
setScaleParam
Set the ScaleParam property.- Parameters:
value
- The new value for ScaleParam
-
getScaleParam
Get the ScaleParam property.- Returns:
- The ScaleParam
-
setScale
public void setScale(double value) Set the Scale property.- Parameters:
value
- The new value for Scale
-
getScale
public double getScale()Get the Scale property.- Returns:
- The Scale
-
setRotateParam
Set the RotateParam property.- Parameters:
value
- The new value for RotateParam
-
setRotateUnitName
Set the name of the Rotate unit. Used by subclasses which have values that can be Rotateed in different units.- Parameters:
name
- name of unit
-
setRotateRange
Set the RotateRange property.- Parameters:
value
- The new value for RotateRange
-
setRotateDataRange
Set the RotateRange property.- Parameters:
value
- The new value for RotateRange
-
setRotateXInfo
Set the RotateXInfo property.- Parameters:
value
- The new value for RotateXInfo
-
getRotateXInfo
Get the RotateXInfo property.- Returns:
- The RotateXInfo
-
setRotateYInfo
Set the RotateYInfo property.- Parameters:
value
- The new value for RotateYInfo
-
getRotateYInfo
Get the RotateYInfo property.- Returns:
- The RotateYInfo
-
setRotateZInfo
Set the RotateZInfo property.- Parameters:
value
- The new value for RotateZInfo
-
getRotateZInfo
Get the RotateZInfo property.- Returns:
- The RotateZInfo
-
getRotateInfo
Get the rotate info object for the given type. Type is TYPE_X, TYPE_Y or TYPE_Z- Parameters:
type
- type- Returns:
- The corresponding rotate info object
-
setColorParam
Set the ColorParam property.- Parameters:
value
- The new value for ColorParam
-
getColorParam
Get the ColorParam property.- Returns:
- The ColorParam
-
setColorMappings
Set the ColorMappings property.- Parameters:
value
- The new value for ColorMappings
-
getColorMappings
Get the ColorMappings property.- Returns:
- The ColorMappings
-
setDisplayUnitName
Set the name of the display unit. Used by subclasses which have values that can be displayed in different units.- Parameters:
name
- name of unit
-
showDisplayUnitInProperties
protected boolean showDisplayUnitInProperties()Should we show the display unit widget in the properties dialog- Returns:
- true
-
getDisplayUnitName
Get the name of the display unit.- Returns:
- String representation of the unit name.
May be
null
.
-
setTheDisplayUnit
Set the the display unit. Used by subclasses which have values that can be displayed in different units.- Parameters:
u
- unit to display values in
-
getDisplayUnit
Get the the display unit.- Returns:
- Unit used for displaying values. May be
null
.
-
rotateOnEarth
public boolean rotateOnEarth()Can we rotate this symbol when the display rotates
-