motris.gui
Class LayerViewer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bymotris.gui.LayerViewer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, ImageSequenceData.TimeChangedListener, java.awt.MenuContainer, ParameterizedObject.ParameterChangedListener, SceneDescription.ActorListChangedListener, java.io.Serializable

public class LayerViewer
extends javax.swing.JPanel
implements ParameterizedObject.ParameterChangedListener, SceneDescription.ActorListChangedListener, ImageSequenceData.TimeChangedListener

A canvas to paint the selected DisplayLayers in the right order and clipping/zoom settings

Author:
dahlkamp
See Also:
Serialized Form

Nested Class Summary
private  class LayerViewer.BackgroundColorLayer
           
private  class LayerViewer.DataPanel
           
(package private)  class LayerViewer.DataScrollPane
           
 class LayerViewer.PixelDetailsEmitter
           
 
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
private  int currentTime
           
 javax.swing.JPanel dataPanel
           
(package private)  LayerViewer.DataScrollPane dataScrollPanel
           
(package private)  boolean DEBUGMODE
           
private  LayerList layerList
           
private  ExperimentViewController parent
           
 LayerViewer.PixelDetailsEmitter pixelDetailsEmitter
           
(package private)  int repaintImportanceThreshold
           
private  java.lang.String repaintReason
           
private  SceneDescription scene
           
 
Fields inherited from class javax.swing.JPanel
 
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
LayerViewer(Experiment _experiment, Camera _cam, ExperimentViewController _parent)
           
 
Method Summary
 void actorListChanged(java.util.Vector actorList)
           
(package private)  Double2Vector computePreferredSize()
           
 int getRepaintImportanceThreshold()
           
 void notifyZoomFactorChanged(double _oldZoomFactor, boolean doScrolling)
           
 void parameterChanged(ParameterizedObject source)
           
 void reComputePreferredSize(boolean resizeWindow)
           
 void repaintData(java.lang.String reason, int importance)
          Request redraw, to be processed when there is time
 void repaintDataImmediately(java.lang.String reason, int importance)
          Request redraw immediately, that means in this thread
 void timeChanged(int previousTime, int newTime)
           
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, 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

DEBUGMODE

boolean DEBUGMODE

layerList

private LayerList layerList

scene

private SceneDescription scene

parent

private ExperimentViewController parent

repaintImportanceThreshold

int repaintImportanceThreshold

repaintReason

private java.lang.String repaintReason

currentTime

private int currentTime

dataPanel

public javax.swing.JPanel dataPanel

pixelDetailsEmitter

public LayerViewer.PixelDetailsEmitter pixelDetailsEmitter

dataScrollPanel

LayerViewer.DataScrollPane dataScrollPanel
Constructor Detail

LayerViewer

public LayerViewer(Experiment _experiment,
                   Camera _cam,
                   ExperimentViewController _parent)
Method Detail

computePreferredSize

Double2Vector computePreferredSize()

reComputePreferredSize

public void reComputePreferredSize(boolean resizeWindow)

repaintDataImmediately

public void repaintDataImmediately(java.lang.String reason,
                                   int importance)
Request redraw immediately, that means in this thread

Parameters:
reason - repaint reason to be logged
importance - repaint importance: 0=debugging, 1=object movement, 2=object movement finished, 3=frame change

repaintData

public void repaintData(java.lang.String reason,
                        int importance)
Request redraw, to be processed when there is time

Parameters:
reason - repaint reason to be logged
importance - repaint importance: 0=debugging, 1=object movement, 2=object movement finished, 3=frame change

notifyZoomFactorChanged

public void notifyZoomFactorChanged(double _oldZoomFactor,
                                    boolean doScrolling)

parameterChanged

public void parameterChanged(ParameterizedObject source)
Specified by:
parameterChanged in interface ParameterizedObject.ParameterChangedListener

actorListChanged

public void actorListChanged(java.util.Vector actorList)
Specified by:
actorListChanged in interface SceneDescription.ActorListChangedListener

timeChanged

public void timeChanged(int previousTime,
                        int newTime)
Specified by:
timeChanged in interface ImageSequenceData.TimeChangedListener

getRepaintImportanceThreshold

public int getRepaintImportanceThreshold()