dataMap
Class DataStreamPanel

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 dataMap.DataStreamPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class DataStreamPanel
extends javax.swing.JPanel

Panelette to go into the main DataPanel to show the data for a single data stream

The outer panel will be a borderlayout with a NORTH and CENTER component.

These will be allowed to size to the full size of the container panel, which does not in itself scroll. SCrolling is handled by a custom scroll bar which will send instruction to each component to redraw if it's moved.

Author:
Doug Gillespie
See Also:
Serialized Form

Nested Class Summary
(package private)  class DataStreamPanel.CentreDataHere
           
 class DataStreamPanel.DataGraph
           
(package private)  class DataStreamPanel.DataName
          Border like panel in the top of each display graph on the data map.
(package private)  class DataStreamPanel.DataNameMouse
           
(package private)  class DataStreamPanel.GraphMouse
           
(package private)  class DataStreamPanel.ScrollToData
           
private  class DataStreamPanel.ShowLater
           
(package private)  class DataStreamPanel.StartDataHere
           
 
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  double[] arrowX
           
private  double[] arrowY
           
private  java.awt.Color binaryColour
           
private  java.awt.Color databaseColour
           
private  PamDataBlock dataBlock
           
private  DataStreamPanel.DataGraph dataGraph
           
private  DataMapControl dataMapControl
           
private  DataStreamPanel.DataName dataName
           
 java.awt.Polygon endTimeArrow
           
private  javax.swing.JPopupMenu graphMenu
           
private  boolean graphVisible
           
private  java.awt.Color haveDataColour
           
private  int maxDatas
           
private  long menuMouseTime
           
private  double pixelsPerMilli
           
private  ScrollingDataPanel scrollingDataPanel
           
 java.awt.Polygon startTimeArrow
           
private  int totalDatas
           
private  double yScaleMax
           
private  double yScaleMin
           
 
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
DataStreamPanel(DataMapControl dataMapControl, ScrollingDataPanel scrollingDataPanel, PamDataBlock dataBlock)
           
 
Method Summary
 void autoHide()
           
private  void createGraphMenu()
           
 DataStreamPanel.DataGraph getDataGraph()
           
 DataStreamPanel.DataName getDataName()
           
 javax.swing.JPanel getPanel()
           
private  long getTimeFromX(int xPos)
          Convert an x coordinate into a time in milliseconds
private  int getTotalDatas()
           
 double getYScaleMax()
           
 double getYScaleMin()
           
 boolean isGraphVisible()
           
 boolean isLogScale()
           
 void scrollChanged()
           
private  void setGraphVisible(boolean b)
           
 void showGraphMenu(java.awt.event.MouseEvent e)
           
private  void sortScales()
           
 
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

dataMapControl

private DataMapControl dataMapControl

scrollingDataPanel

private ScrollingDataPanel scrollingDataPanel

dataBlock

private PamDataBlock dataBlock

dataGraph

private DataStreamPanel.DataGraph dataGraph

dataName

private DataStreamPanel.DataName dataName

binaryColour

private java.awt.Color binaryColour

haveDataColour

private java.awt.Color haveDataColour

databaseColour

private java.awt.Color databaseColour

yScaleMin

private double yScaleMin

yScaleMax

private double yScaleMax

pixelsPerMilli

private double pixelsPerMilli

totalDatas

private int totalDatas

maxDatas

private int maxDatas

graphVisible

private volatile boolean graphVisible

arrowX

private double[] arrowX

arrowY

private double[] arrowY

startTimeArrow

public java.awt.Polygon startTimeArrow

endTimeArrow

public java.awt.Polygon endTimeArrow

graphMenu

private javax.swing.JPopupMenu graphMenu

menuMouseTime

private long menuMouseTime
Constructor Detail

DataStreamPanel

public DataStreamPanel(DataMapControl dataMapControl,
                       ScrollingDataPanel scrollingDataPanel,
                       PamDataBlock dataBlock)
Method Detail

getPanel

public javax.swing.JPanel getPanel()

getDataGraph

public DataStreamPanel.DataGraph getDataGraph()
Returns:
the dataGraph

getDataName

public DataStreamPanel.DataName getDataName()
Returns:
the dataName

getTotalDatas

private int getTotalDatas()

autoHide

public void autoHide()

sortScales

private void sortScales()

getTimeFromX

private long getTimeFromX(int xPos)
Convert an x coordinate into a time in milliseconds

Parameters:
xPos - x coordinate in graph
Returns:
milliseconds time

showGraphMenu

public void showGraphMenu(java.awt.event.MouseEvent e)

createGraphMenu

private void createGraphMenu()

isGraphVisible

public boolean isGraphVisible()

setGraphVisible

private void setGraphVisible(boolean b)

scrollChanged

public void scrollChanged()

isLogScale

public boolean isLogScale()
Returns:
the logScale

getYScaleMin

public double getYScaleMin()
Returns:
the yScaleMin

getYScaleMax

public double getYScaleMax()
Returns:
the yScaleMax