mavis.gui
Class MeasurementSequencePanel

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 mavis.gui.ProjectComponent
                      extended by mavis.gui.MeasurementSequencePanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, MeasurementListener, ProjectListener, SessionListener

public class MeasurementSequencePanel
extends ProjectComponent

Displays the measurement step data of a project. The data can not be edited, but the presentation of the data can be changed, e.g. the user can select different columns to be shown, for example the difference vector columns dD dI. The user can also select multiple rows and add them to the Session as a new magnetic component. This class will also append the virtual Origo measurement step (value 999) to the end of the table.

See Also:
Serialized Form

Nested Class Summary
private  class MeasurementSequencePanel.HeaderPopupMenu
          Popup menu for selecting which columns to show in the sequence table.
private  class MeasurementSequencePanel.MyFormatterFactory
          Sets the format for the JFormattedTextFields of this panel.
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JButton calculateComponentButton
           
private  javax.swing.JPanel controlsPane
           
private  javax.swing.JTable sequenceTable
           
private  MeasurementSequenceTableModel sequenceTableModel
           
 
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
MeasurementSequencePanel()
          Creates default MeasurementSequencePanel.
 
Method Summary
private  void $$$setupUI$$$()
          Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!!
private  double getLastPositiveStepValue()
          Returns the latest stepValue which is greater than 0.
private  double getLastStepValue()
          Returns the stepValue of the last step.
 javax.swing.JTable getSequenceTable()
          Returns the table containing all displayed measurement sequence data.
 void measurementUpdated(MeasurementEvent event)
          Does nothing; subclasses override this if they want to listen MeasurementEvents.
 void projectUpdated(ProjectEvent event)
          Updates the sequence table on project data change.
private  void scrollToRow(int rowIndex)
          Scrolls the table to show the specified row.
 void setProject(Project project)
          Sets the project whose sequence is shown in the table.
private  void updateColumns()
          Resize the table's columns to fit the content.
 
Methods inherited from class mavis.gui.ProjectComponent
getParentFrame, getProject, getSession, sessionUpdated, setSession
 
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, 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, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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

sequenceTable

private javax.swing.JTable sequenceTable

sequenceTableModel

private MeasurementSequenceTableModel sequenceTableModel

controlsPane

private javax.swing.JPanel controlsPane

calculateComponentButton

private javax.swing.JButton calculateComponentButton
Constructor Detail

MeasurementSequencePanel

public MeasurementSequencePanel()
Creates default MeasurementSequencePanel.

Method Detail

getSequenceTable

public javax.swing.JTable getSequenceTable()
Returns the table containing all displayed measurement sequence data.


updateColumns

private void updateColumns()
Resize the table's columns to fit the content.


getLastPositiveStepValue

private double getLastPositiveStepValue()
Returns the latest stepValue which is greater than 0. If none is found, returns 0.


getLastStepValue

private double getLastStepValue()
Returns the stepValue of the last step. The returned value is 0 or greater. If there are no steps, returns 0.


setProject

public void setProject(Project project)
Sets the project whose sequence is shown in the table. Sets project listeners, enables or disables the sequence edit controls and updates the table data.

Overrides:
setProject in class ProjectComponent
Parameters:
project - new active project, or null to make no project active.

scrollToRow

private void scrollToRow(int rowIndex)
Scrolls the table to show the specified row.


projectUpdated

public void projectUpdated(ProjectEvent event)
Updates the sequence table on project data change. The TableModel does not need to listen to ProjectEvents.

Specified by:
projectUpdated in interface ProjectListener
Overrides:
projectUpdated in class ProjectComponent
Parameters:
event - ProjectEvent received.

measurementUpdated

public void measurementUpdated(MeasurementEvent event)
Description copied from class: ProjectComponent
Does nothing; subclasses override this if they want to listen MeasurementEvents.

Specified by:
measurementUpdated in interface MeasurementListener
Overrides:
measurementUpdated in class ProjectComponent
Parameters:
event - MeasurementEvent received.

$$$setupUI$$$

private void $$$setupUI$$$()
Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code!