hades.styx
Class WaveCanvas

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byhades.styx.WaveCanvas
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.awt.event.ComponentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable

public class WaveCanvas
extends javax.swing.JPanel
implements java.awt.event.ActionListener, java.awt.event.MouseMotionListener, java.awt.event.MouseListener, java.awt.event.ComponentListener

WaveCanvas provides the actual GUI to draw waveform data. WaveCanvas manages an array of Waveforms. For repainting, the first step is to calculate the currently selected (visible) time range. The actual painting is delegated to the individual Waveform's paint() method.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  java.awt.Color backgroundColor
           
 double clicktime
           
 double eps
           
 javax.swing.JMenuItem findbackwardMI
           
 javax.swing.JMenuItem findforwardMI
           
 javax.swing.JMenuItem findlastnextMI
           
 javax.swing.JMenuItem findlastprevMI
           
 javax.swing.JPopupMenu findmenu
           
 javax.swing.JMenuItem findnextMI
           
 javax.swing.JMenuItem findprevMI
           
 double findx
           
 java.awt.Graphics g
           
 double lasttime
           
 java.awt.event.MouseEvent M
           
 boolean showfind
           
 int SIZE
           
 WaveformViewer sw
           
 double time
           
 TimeFormatter timeFormatter
           
 javax.swing.JLabel timeLabel
           
 Transformation trafo
           
 javax.swing.JLabel valueLabel
           
 Waveform[] waveArray
           
(package private)  java.awt.Color xorColor
           
 
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.Container
 
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
WaveCanvas(WaveformViewer S, Transformation T, javax.swing.JLabel _valueLabel, javax.swing.JLabel _timeLabel)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addWave(Waveform W)
           
 void clearCrosshair()
          remove the crosshair cursor by drawing again in XOR mode.
 void clearWaveData()
           
 void componentHidden(java.awt.event.ComponentEvent e)
           
 void componentMoved(java.awt.event.ComponentEvent e)
           
 void componentResized(java.awt.event.ComponentEvent e)
           
 void componentShown(java.awt.event.ComponentEvent e)
           
 void deleteAllWaveforms()
           
 void delWaveform(Waveform w)
           
 java.lang.String getFullName(int i)
           
 double getMaxWaveTime()
           
 java.lang.String getName(int i)
           
 int getNumberOfSignals()
           
 boolean getshowFind()
           
 Waveform getWaveform(int index)
           
 boolean isDoubleBuffered()
           
 boolean isOpaque()
           
 void mouseClicked(java.awt.event.MouseEvent M)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent m)
           
 void mouseExited(java.awt.event.MouseEvent m)
           
 void mouseMoved(java.awt.event.MouseEvent E)
           
 void mousePressed(java.awt.event.MouseEvent M)
           
 void mouseReleased(java.awt.event.MouseEvent m)
           
 void moveToTime(double t_center)
           
 void paint(java.awt.Graphics g)
           
 void search(java.lang.String command)
           
 void showFind(boolean f)
           
 void swapWaves(int index1, int index2)
           
 void zoom200()
           
 void zoom25()
           
 void zoom25OLD()
           
 void zoom400()
           
 void zoom400OLD()
           
 void zoom50()
           
 void zoom50OLD()
           
 void zoomEnd()
           
 void zoomFit()
           
 void zoomS()
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

trafo

public Transformation trafo

time

public double time

lasttime

public double lasttime

clicktime

public double clicktime

findx

public double findx

eps

public double eps

showfind

public boolean showfind

timeFormatter

public TimeFormatter timeFormatter

xorColor

java.awt.Color xorColor

backgroundColor

java.awt.Color backgroundColor

SIZE

public int SIZE

waveArray

public Waveform[] waveArray

timeLabel

public javax.swing.JLabel timeLabel

valueLabel

public javax.swing.JLabel valueLabel

g

public java.awt.Graphics g

M

public java.awt.event.MouseEvent M

findmenu

public javax.swing.JPopupMenu findmenu

findnextMI

public javax.swing.JMenuItem findnextMI

findprevMI

public javax.swing.JMenuItem findprevMI

findlastnextMI

public javax.swing.JMenuItem findlastnextMI

findlastprevMI

public javax.swing.JMenuItem findlastprevMI

findforwardMI

public javax.swing.JMenuItem findforwardMI

findbackwardMI

public javax.swing.JMenuItem findbackwardMI

sw

public WaveformViewer sw
Constructor Detail

WaveCanvas

public WaveCanvas(WaveformViewer S,
                  Transformation T,
                  javax.swing.JLabel _valueLabel,
                  javax.swing.JLabel _timeLabel)
Method Detail

isOpaque

public boolean isOpaque()

isDoubleBuffered

public boolean isDoubleBuffered()

showFind

public void showFind(boolean f)

getshowFind

public boolean getshowFind()

clearWaveData

public void clearWaveData()

deleteAllWaveforms

public void deleteAllWaveforms()

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent M)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent m)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent m)
Specified by:
mouseExited in interface java.awt.event.MouseListener

clearCrosshair

public void clearCrosshair()
remove the crosshair cursor by drawing again in XOR mode. Afterwards, set the oldx/oldy coordinates to -1, so that multiple calls won't hurt.


mousePressed

public void mousePressed(java.awt.event.MouseEvent M)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent m)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Specified by:
componentShown in interface java.awt.event.ComponentListener

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Specified by:
componentHidden in interface java.awt.event.ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Specified by:
componentResized in interface java.awt.event.ComponentListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

search

public void search(java.lang.String command)

zoomS

public void zoomS()

zoom200

public void zoom200()

zoom400

public void zoom400()

zoom50

public void zoom50()

zoom25

public void zoom25()

zoom400OLD

public void zoom400OLD()

zoom50OLD

public void zoom50OLD()

zoom25OLD

public void zoom25OLD()

zoomFit

public void zoomFit()

zoomEnd

public void zoomEnd()

moveToTime

public void moveToTime(double t_center)

getName

public java.lang.String getName(int i)

getFullName

public java.lang.String getFullName(int i)

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent E)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

addWave

public void addWave(Waveform W)

delWaveform

public void delWaveform(Waveform w)

swapWaves

public void swapWaves(int index1,
                      int index2)

getNumberOfSignals

public int getNumberOfSignals()

getWaveform

public Waveform getWaveform(int index)

getMaxWaveTime

public double getMaxWaveTime()

paint

public void paint(java.awt.Graphics g)