shady.common.ui
Class Display

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by shady.common.ui.Display
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
AccountingDisplay, ControlsDisplay, GraphicsDisplay, PoseDisplay, StateDisplay

public abstract class Display
extends javax.swing.JPanel

An asynchronous display.

TBD more doc

Copyright (C) 2006 Marsette A. Vona, III

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Author:
Marsette (Marty) A. Vona, III
See Also:
Serialized Form

Nested Class Summary
protected  class Display.AngleField
          Displays an angle in degrees.
protected  class Display.BarrelAngleField
          Displays a barrel angle.
protected  class Display.BarrelField
          Displays a barrel.
protected  class Display.BooleanField
          Displays a boolean.
protected  class Display.CharField
          Displays a character.
protected  class Display.CountField
          Displays a count.
protected  class Display.CurrentField
          Displays an current in amps.
protected  class Display.DecimalField
          Displays a decimal number without units.
protected  class Display.EnergyField
          Displays an energy in Joules.
protected  class Display.FaultField
          Displays a fault.
protected  class Display.Field
          A datum field that knows how to update itself.
protected  class Display.GripperField
          Displays a gripper state.
protected  class Display.PointField
          Displays a Point.
protected  class Display.StringField
          Displays a string.
protected  class Display.TimeField
          Displays a time in seconds.
protected  class Display.TorqueField
          Displays an torque in N-m.
protected  class Display.VoltageField
          Displays an voltage in volts.
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static java.lang.String cvsid
          CVS id.
static int DEFAULT_BORDER_PAD
          Default border padding.
static double DEFAULT_FPS
          Default frames per second.
static int DEFAULT_WIDTH
          Default width.
protected  java.util.Collection fields
          All the Display.Fields in this Display.
protected  double fps
          Update rate in frames per sec, default DEFAULT_FPS.
protected  boolean paused
          Whether we're currently paused.
protected  ShadyCommonAPI shady
          The mechanism.
protected  UI shadyUI
          The UI that contains this Display.
static int UNITS_WIDTH
          Width of the Display.Field units labels in pixels.
private  javax.swing.Timer updateTimer
          Calls update() at getUpdateInterval().
 
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
Display(UI ui, ShadyCommonAPI shady)
          Make a Display with a white background.
 
Method Summary
protected  double getDefaultFPS()
          Get the default frames per sec.
 double getFPS()
          Get frames per sec.
protected  int getUpdateInterval()
          Time between updates, ms.
 boolean isPaused()
          Check whether this view is currently paused.
 void lockHeight()
          Lock this component's height to its preferred height.
 void lockMinimumSize()
          Lock this component's min size to its preferred size.
 void lockPreferredSize()
          Lock this component's preferred size.
 void pause()
          Pause this view.
 void setBorder()
          Set an empty border with DEFAULT_BORDER_PAD.
 void setBorder(int pad)
          Set an empty border.
 void setBorder(java.lang.String title)
          Set a titled border.
 void setFPS(double fps)
          Set frames per sec.
 void unPause()
          Covers unPause(boolean), never forces update.
 void unPause(boolean forceUpdate)
          Unpause this view.
protected  void update()
          This will be called at getUpdateInterval().
 
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, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, setVisible, 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, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, 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

cvsid

private static final java.lang.String cvsid

CVS id.

See Also:
Constant Field Values

DEFAULT_WIDTH

public static final int DEFAULT_WIDTH

Default width.

See Also:
Constant Field Values

DEFAULT_FPS

public static final double DEFAULT_FPS

Default frames per second.

See Also:
Constant Field Values

DEFAULT_BORDER_PAD

public static final int DEFAULT_BORDER_PAD

Default border padding.

See Also:
Constant Field Values

UNITS_WIDTH

public static final int UNITS_WIDTH

Width of the Display.Field units labels in pixels.

See Also:
Constant Field Values

updateTimer

private javax.swing.Timer updateTimer

Calls update() at getUpdateInterval().


shadyUI

protected final UI shadyUI

The UI that contains this Display.


shady

protected ShadyCommonAPI shady

The mechanism.


fields

protected final java.util.Collection fields

All the Display.Fields in this Display.


fps

protected double fps

Update rate in frames per sec, default DEFAULT_FPS.


paused

protected boolean paused

Whether we're currently paused.

Constructor Detail

Display

public Display(UI ui,
               ShadyCommonAPI shady)

Make a Display with a white background.

Parameters:
ui - the UI that contains this Display
shady - the mechanism to display, null if not appliccable
Method Detail

lockHeight

public void lockHeight()

Lock this component's height to its preferred height.


lockMinimumSize

public void lockMinimumSize()

Lock this component's min size to its preferred size.


lockPreferredSize

public void lockPreferredSize()

Lock this component's preferred size.


setBorder

public void setBorder(java.lang.String title)

Set a titled border.

Parameters:
title - the title

setBorder

public void setBorder(int pad)

Set an empty border.

Parameters:
pad - the border width

setBorder

public void setBorder()

Set an empty border with DEFAULT_BORDER_PAD.


getUpdateInterval

protected int getUpdateInterval()

Time between updates, ms.

Default impl is based on getFPS().

Returns:
the time between updates in milliseconds

getFPS

public double getFPS()

Get frames per sec.

Returns:
frames per sec

setFPS

public void setFPS(double fps)

Set frames per sec.

Parameters:
fps - frames per sec

pause

public void pause()

Pause this view.


unPause

public void unPause(boolean forceUpdate)

Unpause this view.

Parameters:
forceUpdate - whehter to force an update

unPause

public void unPause()

Covers unPause(boolean), never forces update.


isPaused

public boolean isPaused()

Check whether this view is currently paused.

Returns:
true iff currently paused

getDefaultFPS

protected double getDefaultFPS()

Get the default frames per sec.

Returns:
DEFAULT_FPS

update

protected void update()

This will be called at getUpdateInterval().

Default impl updates any Display.Fields (in fields).