Acquisition
Class AcquisitionDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by PamView.PamDialog
                          extended by Acquisition.AcquisitionDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class AcquisitionDialog
extends PamDialog

Main dialog for acquisition control. Takes plug in panels from the various sound systems to give more device specific controls where necessary.

Author:
Doug Gillespie
See Also:
Serialized Form

Nested Class Summary
private  class AcquisitionDialog.NewDeviceType
           
private  class AcquisitionDialog.NumChannels
           
 
Nested classes/interfaces inherited from class PamView.PamDialog
PamDialog.PopupListener
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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 static AcquisitionControl acquisitionControl
           
private static AcquisitionParameters acquisitionParameters
           
private  javax.swing.JTextField bandwidth0
           
private  javax.swing.JTextField bandwidth1
           
private  javax.swing.JPanel channelListPanelArea
           
private  ChannelListPanel currentChannelListPanel
           
private  DaqSystem currentDaqSystem
           
private  javax.swing.JComponent deviceSpecificPanel
           
private  javax.swing.JComboBox deviceType
           
private  javax.swing.JPanel mainPanel
           
private  javax.swing.JTextField nChannels
           
private  OfflineDAQDialogPanel offlineDAQDialogPanel
           
private  javax.swing.JTextField preampGain
           
private  javax.swing.JTextField sampleRate
           
private static AcquisitionDialog singleInstance
           
private  ChannelListPanel standardChannelListPanel
           
private  javax.swing.JTextField vPeak2Peak
           
 
Fields inherited from class PamView.PamDialog
serialVersionUID
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
private AcquisitionDialog(java.awt.Frame parentFrame)
          Main dialog for data acquisition control
 
Method Summary
private  javax.swing.JPanel CalibrationPanel()
           
 void cancelButtonPressed()
          called when the cancel button is pressed before the dialog closes.
private  javax.swing.JPanel DeviceTypePanel()
           
 DaqSystem getCurrentDaqSystem()
           
(package private)  int getNumChannels()
          Xiao Yan Deng For select channels
 boolean getParams()
          called when the Ok button is pressed.
private  void newDeviceType()
          Called when the device type changes.
 double readSampleRate()
          Read the latest sample rate value.
 void restoreDefaultSettings()
          standard function which should us used to copy default parameters into the dialog controls.
private  javax.swing.JPanel SamplingPanel()
           
 void setChannels(int nChannels)
          Called by the specific DaqSystem to set the number of channels when it is set by the DaqSystem (for instance FileInputSystem will set it to the number of channels in the current file.
private  void setParams()
           
 void setSampleRate(float sampleRate)
          Called by the specific DaqSystem to set sample rate when it is set by the DaqSystem (for instance FileInputSystem will set sample rate to the sample rate of data in the current file.
 void setVPeak2Peak(double vPeak2Peak)
          Called by the specific DaqSystem to set the peak to peak voltage range.
static AcquisitionParameters showDialog(java.awt.Frame parentFrame, AcquisitionControl daqControl, AcquisitionParameters oldParams)
          Shows the data acquisition dialog.
private  void showHideChannelPanel()
          Only need to show the channel panel for certain device types,
private  void sortChannelLists()
           
 
Methods inherited from class PamView.PamDialog
addComponent, enableHelpButton, formatDouble, getButtonPanel, getCancelButton, getDefaultButton, getHelpButton, getHelpPoint, getOkButton, getWarningTitle, isSendGeneralSettingsNotification, isWarnDefaultSetting, okButtonPressed, positionInFrame, restoreDefaultSettingsQ, setDialogComponent, setHelpPoint, setSendGeneralSettingsNotification, setVisible, setWarnDefaultSetting, setWarningTitle, showWarning, showWarning, showWarning
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

acquisitionParameters

private static AcquisitionParameters acquisitionParameters

singleInstance

private static AcquisitionDialog singleInstance

acquisitionControl

private static AcquisitionControl acquisitionControl

offlineDAQDialogPanel

private OfflineDAQDialogPanel offlineDAQDialogPanel

currentDaqSystem

private DaqSystem currentDaqSystem

deviceType

private javax.swing.JComboBox deviceType

mainPanel

private javax.swing.JPanel mainPanel

deviceSpecificPanel

private javax.swing.JComponent deviceSpecificPanel

sampleRate

private javax.swing.JTextField sampleRate

nChannels

private javax.swing.JTextField nChannels

vPeak2Peak

private javax.swing.JTextField vPeak2Peak

preampGain

private javax.swing.JTextField preampGain

bandwidth0

private javax.swing.JTextField bandwidth0

bandwidth1

private javax.swing.JTextField bandwidth1

standardChannelListPanel

private ChannelListPanel standardChannelListPanel

currentChannelListPanel

private ChannelListPanel currentChannelListPanel

channelListPanelArea

private javax.swing.JPanel channelListPanelArea
Constructor Detail

AcquisitionDialog

private AcquisitionDialog(java.awt.Frame parentFrame)
Main dialog for data acquisition control

When shown, the dialog contains three main panels.

The top one shows a list of available DaqSystems (e.g. sound cards, NI cards, etc. >p> The middle panel selected based on the type of DaqSytem and is implemented differently within each DaqSystem. For instance, the sound card DaqSystem displays a list of available sound cards. The file system displays a list of recent files, systems for other ADC cards mght display a channel selector and gain settings specific for a particular device.

The bottom panel shows the number of channels, sample rate, and device sensitivity. The selected DaqSystem is queried to see if these are fixed, unknown or user entered and enables the controls accordingly. If they are set by the DaqSystem, the DaqSystem should set them explicity using setSampleRate(), setChannels, and setVPeak2Peak

Method Detail

showDialog

public static AcquisitionParameters showDialog(java.awt.Frame parentFrame,
                                               AcquisitionControl daqControl,
                                               AcquisitionParameters oldParams)
Shows the data acquisition dialog.

Parameters:
daqControl - the calling AcquisitionControl
oldParams - current parameters from the AcquisitionControl
Returns:
new parameters selected in the dialog
See Also:
AcquisitionControl

setParams

private void setParams()

setSampleRate

public void setSampleRate(float sampleRate)
Called by the specific DaqSystem to set sample rate when it is set by the DaqSystem (for instance FileInputSystem will set sample rate to the sample rate of data in the current file.

Parameters:
sampleRate - Current sample rate

setChannels

public void setChannels(int nChannels)
Called by the specific DaqSystem to set the number of channels when it is set by the DaqSystem (for instance FileInputSystem will set it to the number of channels in the current file.

Parameters:
nChannels - Number of channels

setVPeak2Peak

public void setVPeak2Peak(double vPeak2Peak)
Called by the specific DaqSystem to set the peak to peak voltage range. This is used for calculating absolute SPL's in various detectors the DaqSystem

Parameters:
vPeak2Peak - Peak to Peak input voltage

getParams

public boolean getParams()
Description copied from class: PamDialog
called when the Ok button is pressed. This must return true in order that the dialog may close. It should also copy all parameters into an object that will be returned by showDialog.

Specified by:
getParams in class PamDialog

readSampleRate

public double readSampleRate()
Read the latest sample rate value.

Returns:
sample rate Hz.

cancelButtonPressed

public void cancelButtonPressed()
Description copied from class: PamDialog
called when the cancel button is pressed before the dialog closes. Generally you should set the parameters returned by the dialog to null or some default value, or in some other way indicate that Cancel was pressed.

Specified by:
cancelButtonPressed in class PamDialog

restoreDefaultSettings

public void restoreDefaultSettings()
Description copied from class: PamDialog
standard function which should us used to copy default parameters into the dialog controls.

Specified by:
restoreDefaultSettings in class PamDialog

DeviceTypePanel

private javax.swing.JPanel DeviceTypePanel()

showHideChannelPanel

private void showHideChannelPanel()
Only need to show the channel panel for certain device types,


SamplingPanel

private javax.swing.JPanel SamplingPanel()

CalibrationPanel

private javax.swing.JPanel CalibrationPanel()

getNumChannels

int getNumChannels()
Xiao Yan Deng For select channels


sortChannelLists

private void sortChannelLists()

newDeviceType

private void newDeviceType()
Called when the device type changes. Loads the appropriate panel for the newly selected DaqSystem into the dialog


getCurrentDaqSystem

public DaqSystem getCurrentDaqSystem()