UC Berkeley Group for User Interface Research
Updated November 17, 2000

edu.berkeley.guir.lib.satin.view
Interface View

All Superinterfaces:
Cloneable, SatinConstants, Serializable
All Known Subinterfaces:
MultiView, SemanticZoomView
All Known Implementing Classes:
ViewImpl

public interface View
extends SatinConstants, Cloneable, Serializable

Describes how a GraphicalObject appears on the screen.

This software is distributed under the Berkeley Software License.

 Revisions:  - SATIN-v1.0-1.0.0, Aug 11 1999, JH
               Created class
             - SATIN-v2.1-1.0.0, Aug 11 2000, JH
               Touched for SATIN release
 

Since:
JDK 1.2.2
Version:
SATIN-v2.1-1.0.0, Aug 11 2000
Author:
Jason Hong ( jasonh@cs.berkeley.edu )

Inner classes inherited from class edu.berkeley.guir.lib.satin.SatinConstants
SatinConstants.ObjectPoolAffineTransform, SatinConstants.ObjectPoolPoint2D, SatinConstants.ObjectPoolPolygon2D, SatinConstants.ObjectPoolRectangle2D, SatinConstants.ObjectPoolStringBuffer, SatinConstants.UniqueAffineTransform, SatinConstants.UniquePoint2D, SatinConstants.UniquePolygon2D, SatinConstants.UniqueRectangle2D
 
Fields inherited from interface edu.berkeley.guir.lib.satin.SatinConstants
ABOVE, ALL, BAR, BELOW, clipboard, clprops, cmdqueue, cmdsubsys, CONTAINEDBY, CONTAINS, COORD_ABS, COORD_LOCAL, COORD_REL, DAMAGE_LATER, DAMAGE_NOW, DEBUG_GRAPHICS_OFFSET, DEBUG_STYLE_FILE, DEBUG_STYLE_GPROPERTY, DEEP, DEFAULT_POINT2D_POOL_SIZE, DEFAULT_POLYGON2D_POOL_SIZE, DEFAULT_RECTANGLE_POOL_SIZE, DEFAULT_REPAINT_THRESHOLD, DEFAULT_SELECT_THRESHOLD, DEFAULT_STRINGBUFFER_POOL_SIZE, DEFAULT_TRANSFORM_POOL_SIZE, DIR_CENTER, DIR_DOWN, DIR_DOWN_LEFT, DIR_DOWN_RIGHT, DIR_LEFT, DIR_RIGHT, DIR_UP, DIR_UP_LEFT, DIR_UP_RIGHT, FILTER_THRESHOLD, FIRST, FLOATING_PT_TOLERANCE, glprops, INTERSECTS, KEY_STYLE_DASHARRAY, KEY_STYLE_DASHPHASE, KEY_STYLE_DRAWCOLOR, KEY_STYLE_DRAWFONT, KEY_STYLE_DRAWTRANSPARENCY, KEY_STYLE_ENDCAP, KEY_STYLE_FILLCOLOR, KEY_STYLE_FILLTRANSPARENCY, KEY_STYLE_LINEJOIN, KEY_STYLE_LINEWIDTH, KEY_STYLE_MITERLIMIT, NEAR, NOTIFY_BOUNDS, NOTIFY_LAYER, NOTIFY_LOCATION, NOTIFY_STYLE, NOTIFY_TRANSFORM, poolPoints, poolPolys, poolRects, poolStrbuf, poolTx, rand, SATIN_DATA_DIRECTORY_DEFAULT, SATIN_DATA_DIRECTORY_GPROPERTY, SATIN_PROPERTIES_FILENAME, SHALLOW
 
Method Summary
 Object clone()
          Implementation of the Sorceror's Apprentice algorithm.
 GraphicalObject getAttachedGraphicalObject()
          Get the GraphicalObject this View is attached to.
 Polygon2D getBoundingPoints2DRef()
          Get the reference for the bounding points for this view.
 String getName()
          Get the name of this View.
 float getViewDisplayValue()
          Check whether or not this view is valid, ie can and should be displayed.
 boolean isVisible()
          Check whether this view is visible or not.
 void render(SatinGraphics g)
          Render this view.
 GraphicalObject setAttachedGraphicalObject(GraphicalObject newGob)
          Used to set the GraphicalObject this View is attached to.
 void setBoundingPoints2DRef(Polygon2D p)
          Set the reference for the bounding points for this view.
 String setName(String strName)
          Set the name of this View.
 void setVisible(boolean flag)
          Set whether this view is visible or not.
 

Method Detail

setAttachedGraphicalObject

public GraphicalObject setAttachedGraphicalObject(GraphicalObject newGob)
Used to set the GraphicalObject this View is attached to. All views attached will have the specified GOb set to this parameter. This method should be called automatically when the View is added to a GraphicalObject.
Parameters:
gob - is the GraphicalObject this View is attached to.
Returns:
a reference to gob.

setBoundingPoints2DRef

public void setBoundingPoints2DRef(Polygon2D p)
Set the reference for the bounding points for this view. Make sure that the bounds match what you are rendering. Otherwise, you will get some repaint errors, as well as selection errors.
Parameters:
p - is the polygon bounds. Assumes the bounds are already in local coordinates.

setVisible

public void setVisible(boolean flag)
Set whether this view is visible or not.

getBoundingPoints2DRef

public Polygon2D getBoundingPoints2DRef()
Get the reference for the bounding points for this view.
Returns:
the polygon bounds.

getAttachedGraphicalObject

public GraphicalObject getAttachedGraphicalObject()
Get the GraphicalObject this View is attached to.
Returns:
the GraphicalObject this View is attached to.

isVisible

public boolean isVisible()
Check whether this view is visible or not. A view is visible if the visible flag is set (via setVisible(boolean)) and if the view display value is greater than 0.
Returns:
true if the view is visible, false otherwise.

getViewDisplayValue

public float getViewDisplayValue()
Check whether or not this view is valid, ie can and should be displayed. This can be a combination of any range of parameters. For example, you could say that this view is valid when:
Returns:
a value between 0.0 and 1.0, with 0.0 meaning do not display, and 1.0 meaning must display.

getName

public String getName()
Get the name of this View.
Returns:
Some useful not-too-technical real-world name for this View.

setName

public String setName(String strName)
Set the name of this View.
Parameters:
strName - is the name of this View.
Returns:
a reference to strName.

render

public void render(SatinGraphics g)
Render this view. Use (0,0) as the top-left corner of this view. Any transformations that the attached GraphicalObject has will automatically be applied, so all you have to do is render the view normally.

clone

public Object clone()
Implementation of the Sorceror's Apprentice algorithm. Needs to be a DEEP clone.
Overrides:
clone in class Object

Copyright Information