|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.opensourcephysics.display.DrawingPanel
org.opensourcephysics.display.InteractivePanel
org.opensourcephysics.media.core.VideoPanel
org.opensourcephysics.cabrillo.tracker.TrackerPanel
public class TrackerPanel
This extends VideoPanel to manage and draw TTracks. It is Tracker's main view and repository of a video and its associated tracks.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.opensourcephysics.display.InteractivePanel |
|---|
InteractivePanel.IADMouseController |
| Nested classes/interfaces inherited from class org.opensourcephysics.display.DrawingPanel |
|---|
DrawingPanel.ZoomBox |
| Nested classes/interfaces inherited from class javax.swing.JPanel |
|---|
javax.swing.JPanel.AccessibleJPanel |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
javax.swing.JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
java.awt.Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary | |
|---|---|
protected javax.swing.JLabel |
badNameLabel
|
protected XMLControl |
currentState
|
protected FunctionTool |
dataBuilder
|
protected boolean |
dataToolVisible
|
protected double |
defaultImageBorder
|
protected java.lang.String |
defaultSavePath
|
protected java.lang.String |
description
|
protected java.awt.Rectangle |
dirty
|
protected double[] |
dividerLocs
|
protected java.util.Set<java.lang.String> |
enabled
|
protected TFrame |
frame
|
protected java.awt.image.BufferedImage |
image
|
protected int |
infoX
|
protected int |
infoY
|
protected boolean |
isEmpty
|
static double |
MAX_ZOOM
The maximum zoom level |
protected java.awt.event.MouseEvent |
mEvent
|
static double |
MIN_ZOOM
The minimum zoom level |
protected FunctionTool |
modelBuilder
|
protected javax.swing.JPanel |
noData
|
protected javax.swing.JLabel[] |
noDataLabels
|
protected TPoint |
pointState
|
protected javax.swing.JPopupMenu |
popup
|
protected java.awt.geom.AffineTransform |
prevPixelTransform
|
protected javax.swing.JScrollPane |
scrollPane
|
protected TPoint |
selectedPoint
|
protected Step |
selectedStep
|
protected TTrack |
selectedTrack
|
protected XMLProperty |
selectedViewsProperty
|
protected TrackerPanel |
selectingPanel
|
protected TPoint |
snapPoint
|
protected int |
trackControlX
|
protected int |
trackControlY
|
protected XMLProperty |
viewsProperty
|
protected java.util.Map<Filter,java.awt.Point> |
visibleFilters
|
protected double |
zoom
|
| Fields inherited from class org.opensourcephysics.media.core.VideoPanel |
|---|
changed, coords, dataFile, defaultFileName, defaultHeight, defaultWidth, drawingInImageSpace, filterClasses, imageBorder, imageHeight, imageWidth, messagePanel, mousePanel, player, playerVisible, pt, video, xOffset, yOffset |
| Fields inherited from class org.opensourcephysics.display.InteractivePanel |
|---|
containsInteractive, interactive, MOUSE_CLICKED, MOUSE_DRAGGED, MOUSE_ENTERED, MOUSE_EXITED, MOUSE_MOVED, MOUSE_PRESSED, MOUSE_RELEASED, mouseAction, mouseEvent |
| Fields inherited from class javax.swing.JComponent |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Component |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface java.awt.image.ImageObserver |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
|---|---|
TrackerPanel()
Constructs a blank TrackerPanel with a player. |
|
TrackerPanel(Video video)
Constructs a TrackerPanel with a video and player. |
|
| Method Summary | ||
|---|---|---|
void |
addDirtyRegion(java.awt.Rectangle dirtyRect)
Adds the specified rectangle to the dirty region. |
|
void |
addDrawable(Drawable drawable)
Overrides VideoPanel addDrawable method. |
|
void |
addTrack(TTrack track)
Adds a track. |
|
void |
clear()
Overrides VideoPanel clear method. |
|
void |
clearTracks()
Clears all tracks. |
|
protected void |
configure()
Configures this panel. |
|
boolean |
containsTrack(TTrack track)
Determines if the specified track is in this tracker panel. |
|
protected void |
deletePoint(TPoint pt)
Deletes a point. |
|
void |
eraseAll()
Erases all tracks in this tracker panel. |
|
Axes |
getAxes()
Gets the coordinate axes. |
|
java.util.ArrayList<Drawable> |
getBackgroundDrawables()
Gets the list of background Drawables. |
|
protected FunctionTool |
getDataBuilder()
Gets the DataFunction tool for defining custom data functions. |
|
protected static double |
getDefaultImageHeight()
|
|
protected static double |
getDefaultImageWidth()
|
|
java.lang.String |
getDescription()
Gets the description of this panel. |
|
java.util.ArrayList<Drawable> |
getDrawables()
Overrides VideoPanel getDrawables method. |
|
java.util.Set<java.lang.String> |
getEnabled()
Gets the enabled property set. |
|
java.lang.String |
getFilePath()
Overrides VideoPanel getFilePath method. |
|
protected TFrame |
getFrame()
|
|
Interactive |
getInteractive()
Overrides InteractivePanel getInteractive method. |
|
static XML.ObjectLoader |
getLoader()
Returns an XML.ObjectLoader to save and load object data. |
|
double |
getMagnification()
Gets the magnification. |
|
TMat |
getMat()
Gets the mat. |
|
FunctionTool |
getModelBuilder()
Gets the model builder. |
|
java.awt.Dimension |
getPreferredScrollableViewportSize()
Gets the preferred scrollable viewport size. |
|
int |
getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
Gets the scrollable block increment. |
|
boolean |
getScrollableTracksViewportHeight()
Gets whether this tracks the viewport height. |
|
boolean |
getScrollableTracksViewportWidth()
Gets whether this tracks the viewport width in a scrollpane. |
|
int |
getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
Gets the scrollable unit increment. |
|
TPoint |
getSelectedPoint()
Gets the selected point. |
|
Step |
getSelectedStep()
Gets the selected step. |
|
TTrack |
getSelectedTrack()
Gets the selected track. |
|
TrackerPanel |
getSelectingPanel()
Gets the selecting tracker panel. |
|
TPoint |
getSnapPoint()
Gets the origin snap point. |
|
Tape |
getTape()
Gets the tape. |
|
java.lang.String |
getTitle()
Gets the title for tabs, menus, etc. |
|
TTrack |
getTrack(java.lang.String name)
Gets the first track with the specified name |
|
java.util.ArrayList<TTrack> |
getTracks()
Gets a list of TTracks being drawn on this panel. |
|
java.util.ArrayList<TTrack> |
getUserTracks()
Gets the list of user-defined TTracks on this panel. |
|
protected void |
handleKeyPress(java.awt.event.KeyEvent e)
Handles keypress events for selected points. |
|
boolean |
isDefaultConfiguration()
Returns true if this is the default configuration. |
|
boolean |
isEnabled(java.lang.String key)
Gets the enabled state for the specified key. |
|
boolean |
isShowCoordinates()
Returns true if mouse coordinates are displayed. |
|
static void |
main(java.lang.String[] args)
Main entry point when used as application. |
|
void |
moveToBack(Drawable drawable)
Moves a drawable behind all others except the video. |
|
void |
propertyChange(java.beans.PropertyChangeEvent e)
Responds to property change events. |
|
protected void |
refreshInfoDialog()
Refreshes the TFrame info dialog if visible. |
|
void |
removeDrawable(Drawable drawable)
Overrides VideoPanel removeDrawable method. |
|
|
removeObjectsOfClass(java.lang.Class<T> c)
Overrides VideoPanel removeObjectsOfClass method. |
|
void |
removeTrack(TTrack track)
Removes a track. |
|
void |
repaintDirtyRegion()
Repaints the dirty region. |
|
boolean |
save()
Gives the user an opportunity to save this to a text file if changed. |
|
void |
scale()
Overrides DrawingPanel scale method. |
|
protected void |
scale(java.util.ArrayList<Drawable> drawables)
Overrides VideoPanel scale method to handle zoom |
|
void |
setCoords(ImageCoordSystem _coords)
Overrides VideoPanel setCoords method. |
|
protected boolean |
setCursorForMarking(boolean invert)
Sets the cursor (if not inverted) to a crosshair when the selected track marks by default and is unmarked on the current frame. |
|
void |
setDescription(java.lang.String desc)
Sets the description of this panel. |
|
void |
setEnabled(java.lang.String key,
boolean enable)
Sets the enabled state for the specified key. |
|
void |
setImageBorder(double borderFraction)
Overrides VideoPanel setImageBorder method to sets the image border. |
|
void |
setImageHeight(double h)
Sets the image height in image units. |
|
void |
setImageSize(double w,
double h)
Sets the image size in image units. |
|
void |
setImageWidth(double w)
Sets the image width in image units. |
|
void |
setMagnification(double magnification)
Sets the magnification. |
|
void |
setMessage(java.lang.String msg)
Shows a message in BR corner. |
|
void |
setMouseCursor(java.awt.Cursor cursor)
Overrides DrawingPanel setMouseCursor method. |
|
void |
setScrollPane(javax.swing.JScrollPane scroller)
Sets the scroll pane. |
|
void |
setSelectedPoint(TPoint point)
Sets the selected point. |
|
void |
setSelectedTrack(TTrack track)
Sets the selected track. |
|
protected void |
setTrackName(TTrack track,
java.lang.String newName)
|
|
void |
setVideo(Video newVideo)
Overrides VideoPanel setVideo method. |
|
| Methods inherited from class org.opensourcephysics.media.core.VideoPanel |
|---|
addFilter, checkImage, getCoords, getDataFile, getFilters, getFrameNumber, getImageBorder, getImageHeight, getImageWidth, getPlayer, getStepNumber, getVideo, getWorldMousePoint, hideMouseBox, isDrawingInImageSpace, isPlayerVisible, paintEverything, removeFilter, setDataFile, setDrawingInImageSpace, setPlayerVisible |
| Methods inherited from class org.opensourcephysics.display.InteractivePanel |
|---|
getCurrentDraggable, getMouseAction, getMouseButton, getMouseClickCount, getMouseIntX, getMouseIntY, getMouseX, getMouseY, handleMouseAction, saveMouseEvent, scaleX, scaleY, setInteractiveMouseHandler, setShowCoordinates |
| Methods inherited from class javax.swing.JPanel |
|---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
| Methods inherited from class javax.swing.JComponent |
|---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update |
| Methods inherited from class java.awt.Container |
|---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from class java.awt.Component |
|---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final double MIN_ZOOM
public static final double MAX_ZOOM
protected double defaultImageBorder
protected java.lang.String description
protected TPoint selectedPoint
protected Step selectedStep
protected TrackerPanel selectingPanel
protected TTrack selectedTrack
protected java.awt.Rectangle dirty
protected java.awt.geom.AffineTransform prevPixelTransform
protected double zoom
protected javax.swing.JScrollPane scrollPane
protected javax.swing.JPopupMenu popup
protected java.util.Set<java.lang.String> enabled
protected TPoint snapPoint
protected TFrame frame
protected java.awt.image.BufferedImage image
protected XMLControl currentState
protected TPoint pointState
protected java.awt.event.MouseEvent mEvent
protected javax.swing.JLabel badNameLabel
protected FunctionTool dataBuilder
protected boolean dataToolVisible
protected XMLProperty viewsProperty
protected XMLProperty selectedViewsProperty
protected double[] dividerLocs
protected java.util.Map<Filter,java.awt.Point> visibleFilters
protected int trackControlX
protected int trackControlY
protected int infoX
protected int infoY
protected javax.swing.JPanel noData
protected javax.swing.JLabel[] noDataLabels
protected boolean isEmpty
protected java.lang.String defaultSavePath
protected FunctionTool modelBuilder
| Constructor Detail |
|---|
public TrackerPanel()
public TrackerPanel(Video video)
video - the video| Method Detail |
|---|
public void setVideo(Video newVideo)
setVideo in class VideoPanelnewVideo - the videopublic java.lang.String getTitle()
public java.lang.String getDescription()
public void setDescription(java.lang.String desc)
desc - a descriptionpublic FunctionTool getModelBuilder()
public void addDirtyRegion(java.awt.Rectangle dirtyRect)
dirtyRect - the dirty rectanglepublic void repaintDirtyRegion()
public java.util.ArrayList<TTrack> getTracks()
public java.util.ArrayList<TTrack> getUserTracks()
public TTrack getTrack(java.lang.String name)
name - the name of the track
public void addTrack(TTrack track)
track - the track to addpublic void removeTrack(TTrack track)
track - the track to removepublic boolean containsTrack(TTrack track)
track - the track to look for
true if this contains the trackpublic void eraseAll()
public boolean save()
false if the user cancels, otherwise truepublic java.util.ArrayList<Drawable> getDrawables()
getDrawables in class VideoPanelpublic java.util.ArrayList<Drawable> getBackgroundDrawables()
public void addDrawable(Drawable drawable)
addDrawable in class VideoPaneldrawable - the drawable objectpublic void moveToBack(Drawable drawable)
drawable - the drawable objectpublic void removeDrawable(Drawable drawable)
removeDrawable in class VideoPaneldrawable - the drawable objectpublic <T extends Drawable> void removeObjectsOfClass(java.lang.Class<T> c)
removeObjectsOfClass in class VideoPanelc - the class to removeDrawingPanel.removeDrawables(Class c)public void clear()
clear in class VideoPanelpublic void clearTracks()
public void setCoords(ImageCoordSystem _coords)
setCoords in class VideoPanel_coords - the new image coordinate systempublic Axes getAxes()
public TMat getMat()
public Tape getTape()
public TPoint getSnapPoint()
public void setSelectedTrack(TTrack track)
track - the track to selectpublic TTrack getSelectedTrack()
public void setSelectedPoint(TPoint point)
point - the point to receive actionspublic TPoint getSelectedPoint()
public Step getSelectedStep()
public TrackerPanel getSelectingPanel()
public void setMagnification(double magnification)
magnification - the desired magnificationpublic double getMagnification()
public void setImageWidth(double w)
setImageWidth in class VideoPanelw - the widthpublic void setImageHeight(double h)
setImageHeight in class VideoPanelh - the height
public void setImageSize(double w,
double h)
w - the widthh - the heightpublic void setScrollPane(javax.swing.JScrollPane scroller)
scroller - the scroll pane containing this panelpublic java.awt.Dimension getPreferredScrollableViewportSize()
getPreferredScrollableViewportSize in interface javax.swing.Scrollable
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
getScrollableUnitIncrement in interface javax.swing.ScrollablevisibleRect - the rectangle currently visible in the scrollpaneorientation - the orientation of the scrollbardirection - the direction of movement of the scrollbar
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
getScrollableBlockIncrement in interface javax.swing.ScrollablevisibleRect - the rectangle currently visible in the scrollpaneorientation - the orientation of the scrollbardirection - the direction of movement of the scrollbar
public boolean getScrollableTracksViewportWidth()
getScrollableTracksViewportWidth in interface javax.swing.Scrollabletrue if this tracks the widthpublic boolean getScrollableTracksViewportHeight()
getScrollableTracksViewportHeight in interface javax.swing.Scrollabletrue if this tracks the heightpublic boolean isShowCoordinates()
isShowCoordinates in class VideoPaneltrue if mouse coordinates are displayedpublic void setMessage(java.lang.String msg)
setMessage in class DrawingPanelmsg - the messageprotected FunctionTool getDataBuilder()
protected void refreshInfoDialog()
protected void configure()
protected boolean setCursorForMarking(boolean invert)
invert - true to invert the normal state
protected void handleKeyPress(java.awt.event.KeyEvent e)
e - the key eventpublic boolean isDefaultConfiguration()
public java.util.Set<java.lang.String> getEnabled()
public boolean isEnabled(java.lang.String key)
key - the string key
public void setEnabled(java.lang.String key,
boolean enable)
key - the string keyenable - true to enable the keypublic void propertyChange(java.beans.PropertyChangeEvent e)
propertyChange in interface java.beans.PropertyChangeListenerpropertyChange in class VideoPanele - the property change eventpublic void setImageBorder(double borderFraction)
setImageBorder in class VideoPanelborderFraction - the border fractionpublic java.lang.String getFilePath()
getFilePath in class VideoPanelpublic void scale()
scale in class DrawingPanelpublic void setMouseCursor(java.awt.Cursor cursor)
setMouseCursor in class DrawingPanelcursor - the requested cursorpublic Interactive getInteractive()
getInteractive in class InteractivePanelpublic static void main(java.lang.String[] args)
args - arg[0] may be an xml fileprotected void deletePoint(TPoint pt)
pt - the point to deleteprotected void scale(java.util.ArrayList<Drawable> drawables)
scale in class VideoPaneldrawables - the list of drawable objectsprotected static double getDefaultImageWidth()
protected static double getDefaultImageHeight()
protected TFrame getFrame()
protected void setTrackName(TTrack track,
java.lang.String newName)
public static XML.ObjectLoader getLoader()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||