gov.noaa.pmel.sgt
Interface AbstractPane

All Known Implementing Classes:
JGraphicLayout, JLineProfileLayout, JPane, JPlotLayout, JPlotPane, Pane

public interface AbstractPane

Defines the basic sgt Pane functionality. Pane and JPane implement the AbstractPane interface.

Since:
2.0
Version:
$Revision$, $Date$
Author:
Donald Denbo
See Also:
Pane, JPane

Field Summary
static int BOTTOM
          Align to bottom of printer page.
static int CENTER
          Align to center of printer page.
static int DEFAULT_SCALE
          Default scale for printing.
static int LEFT
          Align to left of printer page.
static int MIDDLE
          Align to middle of printer page.
static int RIGHT
          Align to right of printer page.
static int SHRINK_TO_FIT
          Shrink to fit onto printer page.
static int SPECIFIED_LOCATION
          Align to location specified on printer page.
static int TO_FIT
          Fit onto printer page.
static int TOP
          Align to top of printer page.
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener l)
          Add a PropertyChangeListener to the list.
 void draw()
          The AbstractPane and all of the attached Classes will be drawn.
 void draw(java.awt.Graphics g)
          The AbstractPane and all of the attached Classes will be drawn.
 void draw(java.awt.Graphics g, int width, int height)
          The AbstractPane and all of the attached Classes will be drawn.
 java.awt.Rectangle getBounds()
          Get the bounding rectangle in pixels (device units).
 java.awt.Component getComponent()
          Get the Component associated with the pane.
 Layer getFirstLayer()
          Get the first Layer associated with the Pane
 java.lang.String getId()
          Get the Pane identifier.
 Layer getLayer(java.lang.String id)
          Get the Layer associated with the Pane indicated by the id.
 Layer getLayerFromDataId(java.lang.String id)
          Get the Layer associated with the Pane indicated by the data id.
 java.lang.Object getObjectAt(int x, int y)
          Get the current selected object at a point.
 java.lang.Object[] getObjectsAt(int x, int y)
          Return an array of objects whose bounds include x,y.
 java.lang.Object[] getObjectsAt(java.awt.Point pt)
          Return an array of objects whose bounds are at point pt.
 int getPageHAlign()
          Get horizontal alignment for printing.
 java.awt.Point getPageOrigin()
          Get the printer page origin.
 int getPageScaleMode()
          Get printing scale mode.
 java.awt.Dimension getPageSize()
          Get the printer page size.
 int getPageVAlign()
          Get vertical alignment for printing.
 java.lang.Object getSelectedObject()
          Return the last object selected.
 java.awt.Rectangle getZoomBounds()
          Return the device coordinates of the zoom action.
 java.awt.Point getZoomStart()
          Return the device coordinates of the start of the zoom action.
 void init()
          This method is called when the AbstractPane first becomes visible.
 boolean isBatch()
          Is batching turned on?
 boolean isModified()
          Has the plot been modified?
 boolean isMouseEventsEnabled()
          Are MouseEvents enabled for processing by SGT?
 boolean isPrinter()
          Test if the current Graphics object is a printer.
 void removePropertyChangeListener(java.beans.PropertyChangeListener l)
          Remove the PropertyChangeListener from the list.
 void setBatch(boolean batch)
          Turn on/off batching of updates to the pane.
 void setBatch(boolean batch, java.lang.String msg)
          Turn on/off batching of updates to the pane.
 void setId(java.lang.String id)
          Set the Pane identifier
 void setModified(boolean mod, java.lang.String mess)
          Notify the pane that something has changed and a redraw is required.
 void setMouseEventsEnabled(boolean enable)
          Enable/disable the handling of MouseEvents by SGT.
 void setPageAlign(int vert, int horz)
          Set alignment for printing.
 void setPageHAlign(int horz)
          Set horizontal alignment for printing.
 void setPageOrigin(java.awt.Point p)
          Set the printer page origin.
 void setPageScaleMode(int mode)
          Set printing scale mode.
 void setPageVAlign(int vert)
          Set vertical alignment for printing.
 void setSelectedObject(java.lang.Object obj)
          Primarily used internally by sgt.
 

Field Detail

TOP

static final int TOP
Align to top of printer page.

See Also:
Constant Field Values

MIDDLE

static final int MIDDLE
Align to middle of printer page.

See Also:
Constant Field Values

BOTTOM

static final int BOTTOM
Align to bottom of printer page.

See Also:
Constant Field Values

LEFT

static final int LEFT
Align to left of printer page.

See Also:
Constant Field Values

CENTER

static final int CENTER
Align to center of printer page.

See Also:
Constant Field Values

RIGHT

static final int RIGHT
Align to right of printer page.

See Also:
Constant Field Values

SPECIFIED_LOCATION

static final int SPECIFIED_LOCATION
Align to location specified on printer page.

See Also:
Constant Field Values

TO_FIT

static final int TO_FIT
Fit onto printer page. Magnify or shrink to fit onto printer page.

Since:
3.0
See Also:
Constant Field Values

DEFAULT_SCALE

static final int DEFAULT_SCALE
Default scale for printing. A value of 1.0 physical units = 72 pts.

Since:
3.0
See Also:
Constant Field Values

SHRINK_TO_FIT

static final int SHRINK_TO_FIT
Shrink to fit onto printer page. Will not magnify if graphic will already fit.

Since:
3.0
See Also:
Constant Field Values
Method Detail

draw

void draw()
The AbstractPane and all of the attached Classes will be drawn. Drawing will occur in an offscreen image and then copied to the screen. A new offscreen image is created on the first call to draw() or if the size of the pane has been changed. The offscreen image will be used as a "double" buffer when the screen requires redrawing.

Each Layer that has been added will be drawn in the order added, except if that order has been change using the moveLayerUp() or moveLayerDown() methods.

See Also:
Graphics, Layer

draw

void draw(java.awt.Graphics g)
The AbstractPane and all of the attached Classes will be drawn. Drawing will occur using the supplied Graphics object.

Parameters:
g - User supplied Graphics object
See Also:
Graphics

draw

void draw(java.awt.Graphics g,
          int width,
          int height)
The AbstractPane and all of the attached Classes will be drawn. Drawing will occur using the supplied Graphics object. And clipping will be done to the width and height.

Parameters:
g - User supplied Graphics object
width - clipping width
height - clipping height
See Also:
Graphics

init

void init()
This method is called when the AbstractPane first becomes visible. The types of operations that should be implemented here include those that require a valid Graphics object.


isPrinter

boolean isPrinter()
Test if the current Graphics object is a printer.

Returns:
true if a printer

getObjectsAt

java.lang.Object[] getObjectsAt(int x,
                                int y)
Return an array of objects whose bounds include x,y.

Since:
3.0

getObjectsAt

java.lang.Object[] getObjectsAt(java.awt.Point pt)
Return an array of objects whose bounds are at point pt.

Since:
3.0

getPageSize

java.awt.Dimension getPageSize()
Get the printer page size.

Returns:
page size

getId

java.lang.String getId()
Get the Pane identifier.

Returns:
String containing the Pane identifier.

setId

void setId(java.lang.String id)
Set the Pane identifier


setPageScaleMode

void setPageScaleMode(int mode)
Set printing scale mode. Allowable choices are TO_FIT, SHRINK_TO_FIT and DEFAULT_SCALE. Default = DEFAULT_SCALE.

Parameters:
mode - print page scaling
Since:
3.0
See Also:
DEFAULT_SCALE, TO_FIT, SHRINK_TO_FIT

setPageAlign

void setPageAlign(int vert,
                  int horz)
Set alignment for printing.

Parameters:
vert - vertical alignment
horz - horizontal alignment
See Also:
TOP, MIDDLE, BOTTOM, LEFT, CENTER, RIGHT, SPECIFIED_LOCATION

setPageVAlign

void setPageVAlign(int vert)
Set vertical alignment for printing. Allowed choices include TOP, MIDDLE, and BOTTOM for vert and LEFT, CENTER, and RIGHT for horz. Either can be SPECIFIED_LOCATION.

Parameters:
vert - vertical alignment
See Also:
TOP, MIDDLE, BOTTOM, SPECIFIED_LOCATION

setPageHAlign

void setPageHAlign(int horz)
Set horizontal alignment for printing. Allowed choices include TOP, MIDDLE, and BOTTOM.

Parameters:
horz - horizontal alignment
See Also:
LEFT, CENTER, RIGHT, SPECIFIED_LOCATION

getPageScaleMode

int getPageScaleMode()
Get printing scale mode.

Returns:
AUTO_SCALE, TO_FIT, or SHRINK_TO_FIT
Since:
3.0
See Also:
DEFAULT_SCALE, TO_FIT, SHRINK_TO_FIT

getPageVAlign

int getPageVAlign()
Get vertical alignment for printing. Allowed choices include LEFT, CENTER, and RIGHT.

Returns:
vertical alignment
See Also:
TOP, MIDDLE, BOTTOM, SPECIFIED_LOCATION

getPageHAlign

int getPageHAlign()
Get horizontal alignment for printing.

Returns:
horizontal alignment
See Also:
LEFT, CENTER, RIGHT, SPECIFIED_LOCATION

setPageOrigin

void setPageOrigin(java.awt.Point p)
Set the printer page origin. Valid for HAlign = SPECIFIED_LOCATION or VAlign = SPECIFIED_LOCATION.


getPageOrigin

java.awt.Point getPageOrigin()
Get the printer page origin. Valid for HAlign = SPECIFIED_LOCATION or VAlign = SPECIFIED_LOCATION.


getFirstLayer

Layer getFirstLayer()
Get the first Layer associated with the Pane

Returns:
the first Layer object

getLayer

Layer getLayer(java.lang.String id)
               throws LayerNotFoundException
Get the Layer associated with the Pane indicated by the id.

Parameters:
id - identifier.
Throws:
LayerNotFoundException - The Layer indicated by the id was not found.

getLayerFromDataId

Layer getLayerFromDataId(java.lang.String id)
                         throws LayerNotFoundException
Get the Layer associated with the Pane indicated by the data id.

Parameters:
id - data identifier
Throws:
LayerNotFoundException - The Layer indicated by the id was not found.
See Also:
SGTData

getSelectedObject

java.lang.Object getSelectedObject()
Return the last object selected. Returns only objects that are part of Layers currently connected to the pane. AbstractPane tests each layer after a MOUSE_DOWN event for an object whose bounding box contains the mouse. The pane object then passes the event on to the next level.


setSelectedObject

void setSelectedObject(java.lang.Object obj)
Primarily used internally by sgt. This can also be used to mark an object as selected for use in an event handler.


getZoomBounds

java.awt.Rectangle getZoomBounds()
Return the device coordinates of the zoom action. The coordinates are in device units and may require transformation to the physical units or user units.

Returns:
zoom rectangle

getZoomStart

java.awt.Point getZoomStart()
Return the device coordinates of the start of the zoom action. The Point is in device coordinates and may require transformation to physical units or user units. Zoom start may be useful to indicate which graph to zoom.

Returns:
zoom start
Since:
3.0

getObjectAt

java.lang.Object getObjectAt(int x,
                             int y)
Get the current selected object at a point. Used internally by sgt.


getBounds

java.awt.Rectangle getBounds()
Get the bounding rectangle in pixels (device units).

Returns:
Rectangle object containing the bounding box for the pane.

getComponent

java.awt.Component getComponent()
Get the Component associated with the pane.


setBatch

void setBatch(boolean batch,
              java.lang.String msg)
Turn on/off batching of updates to the pane. While batching is true property change events will not cause pane to redraw. When batching is turned back on if the pane has been modified it will then redraw.


setBatch

void setBatch(boolean batch)
Turn on/off batching of updates to the pane. While batching is true property change events will not cause pane to redraw. When batching is turned back on if the pane has been modified it will then redraw.


isBatch

boolean isBatch()
Is batching turned on?


setModified

void setModified(boolean mod,
                 java.lang.String mess)
Notify the pane that something has changed and a redraw is required. Used internally by sgt.


isModified

boolean isModified()
Has the plot been modified?


setMouseEventsEnabled

void setMouseEventsEnabled(boolean enable)
Enable/disable the handling of MouseEvents by SGT. Disabling mouse events will turn off object selection, moveable, selectable, draggable, and zooming.

Since:
3.0

isMouseEventsEnabled

boolean isMouseEventsEnabled()
Are MouseEvents enabled for processing by SGT?

Since:
3.0

addPropertyChangeListener

void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Add a PropertyChangeListener to the list. Properties for Pane and JPane include "objectSelected" and "zoomRectangle".


removePropertyChangeListener

void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Remove the PropertyChangeListener from the list.