mosaic.sim.neuron.visualisation
Class ScrollingView

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--mosaic.sim.neuron.visualisation.ScrollingView
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
PLNeuronInternalView, SpikeView

public class ScrollingView
extends javax.swing.JPanel

This class implements a horizontally scrolling view for 2D trajectories. It can also synchronize with other ScrollingViews so that multiple views always show the same simulation timeframe.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.ActionStandin, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
protected  double currentTimePosition
          The position on the time frame where to show the current simulation time.
protected  ViewSynchronizer synchronizer
          The ViewSynchronizer used to synchronize with other ScrollingViews.
protected  java.lang.String title
          The title of the view.
protected  double tmax
          The maximum time (horizontal) shown in the view.
protected  double tmin
          The minimum time (horizontal) shown in the view.
protected  double ymax
          The maximum vertical value shown in the view.
protected  double ymin
          The minimum vertical value shown in the view.
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ScrollingView(java.lang.String title)
          Creates a ScroolingView.
ScrollingView(java.lang.String title, ViewSynchronizer sync)
          Creates a ScrollingView and associates a ViewSynchronizer with it.
 
Method Summary
 double getCurrentTimePosition()
          Returns the current time position.
 ViewSynchronizer getSynchronizer()
          Returns the associated ViewSynchronizer.
 double getTMax()
          Returns the maximum simulation time shown.
 double getTMin()
          Returns the minimum simulation time shown.
 double getYMax()
          Returns the maximum vertical value shown.
 double getYMin()
          Returns the minimum vertical value shown.
 void paintComponent(java.awt.Graphics g)
          Overrides the default implementation from JPanel to indicate the current simulation time with a vertical line.
 void scrollToSimulationTime(double currentTime)
          This method scrolls the view horizontally, so that the current simulation time is contained within the view.
 void setCurrentTimePosition(double currentTimePosition)
          Sets the current time position.
 void setSynchronizer(ViewSynchronizer sync)
          Sets the associated ViewSynchronizer.
 void setTMax(double tmax)
          Sets the maximum simulation time shown.
 void setTMin(double tmin)
          Sets the minimum simulation time shown.
 void setYMax(double ymax)
          Sets the maximum vertical value shown.
 void setYMin(double ymin)
          Sets the minimum vertical value shown.
 void updateView()
          Updates the current view (by calling scrollToSimulationTime with the current simulation time) when no ViewSynchronizer is associated or uses to associated ViewSynchronizer to scroll all synchronized views.
protected  java.awt.Point worldToGraphics(double t, double y)
          Transform world coordinates to screen graphics coordinates.
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

tmin

protected double tmin
The minimum time (horizontal) shown in the view.

tmax

protected double tmax
The maximum time (horizontal) shown in the view.

ymin

protected double ymin
The minimum vertical value shown in the view.

ymax

protected double ymax
The maximum vertical value shown in the view.

currentTimePosition

protected double currentTimePosition
The position on the time frame where to show the current simulation time. This is from left to right.

synchronizer

protected ViewSynchronizer synchronizer
The ViewSynchronizer used to synchronize with other ScrollingViews.

title

protected java.lang.String title
The title of the view.
Constructor Detail

ScrollingView

public ScrollingView(java.lang.String title)
Creates a ScroolingView.

ScrollingView

public ScrollingView(java.lang.String title,
                     ViewSynchronizer sync)
Creates a ScrollingView and associates a ViewSynchronizer with it.
Method Detail

worldToGraphics

protected java.awt.Point worldToGraphics(double t,
                                         double y)
Transform world coordinates to screen graphics coordinates.
Parameters:
t - The simulation time to transform.
y - The vertical value to transform.

paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides the default implementation from JPanel to indicate the current simulation time with a vertical line.
Overrides:
paintComponent in class javax.swing.JComponent

scrollToSimulationTime

public void scrollToSimulationTime(double currentTime)
This method scrolls the view horizontally, so that the current simulation time is contained within the view. It does not scale the view, but it scrolls it.

updateView

public void updateView()
Updates the current view (by calling scrollToSimulationTime with the current simulation time) when no ViewSynchronizer is associated or uses to associated ViewSynchronizer to scroll all synchronized views. This method is preferrable over scrollToSimulationTime for direct use, scrollToSimulationTime should only be used by ViewSynchronizer.

getTMin

public double getTMin()
Returns the minimum simulation time shown.
See Also:
tmin

setTMin

public void setTMin(double tmin)
Sets the minimum simulation time shown.
See Also:
tmin

getTMax

public double getTMax()
Returns the maximum simulation time shown.
See Also:
tmax

setTMax

public void setTMax(double tmax)
Sets the maximum simulation time shown.
See Also:
tmax

getYMin

public double getYMin()
Returns the minimum vertical value shown.
See Also:
ymin

setYMin

public void setYMin(double ymin)
Sets the minimum vertical value shown.
See Also:
ymin

getYMax

public double getYMax()
Returns the maximum vertical value shown.
See Also:
ymax

setYMax

public void setYMax(double ymax)
Sets the maximum vertical value shown.
See Also:
ymax

setCurrentTimePosition

public void setCurrentTimePosition(double currentTimePosition)
Sets the current time position.
See Also:
currentTimePosition

getCurrentTimePosition

public double getCurrentTimePosition()
Returns the current time position.
See Also:
currentTimePosition

getSynchronizer

public ViewSynchronizer getSynchronizer()
Returns the associated ViewSynchronizer.
See Also:
synchronizer

setSynchronizer

public void setSynchronizer(ViewSynchronizer sync)
Sets the associated ViewSynchronizer.
See Also:
synchronizer