org.opensha.sha.gui.beans
Class IMT_NewGuiBean

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 org.opensha.commons.gui.LabeledBoxPanel
                      extended by org.opensha.commons.param.editor.impl.ParameterListEditor
                          extended by org.opensha.sha.gui.beans.IMT_NewGuiBean
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, ParameterChangeListener, ScalarIMRChangeListener

public class IMT_NewGuiBean
extends ParameterListEditor
implements ParameterChangeListener, ScalarIMRChangeListener

This is a GUI bean for selecting IMTs with an IMT-First approach. It takes a list of IMRs and lists every IMT supported by at least one IMR.

Author:
kevin
See Also:
Serialized Form

Nested Class Summary
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String IMT_PARAM_NAME
           
static java.lang.String TITLE
           
 
Fields inherited from class org.opensha.commons.param.editor.impl.ParameterListEditor
C, D, parameterEditors, parameterList, parametersName
 
Fields inherited from class org.opensha.commons.gui.LabeledBoxPanel
addDefault, borderColor, editorPanel, GBL, headerLabel, headerPanel, headerPanelBackgroundColor, jScrollPane1, title
 
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
IMT_NewGuiBean(IMR_MultiGuiBean imrGuiBean)
          Init with an IMR gui bean.
IMT_NewGuiBean(java.util.List<? extends ScalarIMR> imrs)
          Init with a list of IMRs
IMT_NewGuiBean(ScalarIMR imr)
          Init with single IMR
 
Method Summary
 void addIMTChangeListener(IMTChangeListener listener)
           
 void clearIMTChangeListeners(IMTChangeListener listener)
           
static java.util.ArrayList<java.lang.Double> getAllSupportedPeriods(java.util.Collection<? extends ScalarIMR> imrs)
          Creates a list of all periods found in any of the given IMRs
static java.util.ArrayList<java.lang.Double> getCommonPeriods(java.util.Collection<? extends ScalarIMR> imrs)
          Creates a list of periods common to all of the given IMRs
 Parameter<java.lang.Double> getSelectedIM()
           
 java.lang.String getSelectedIMT()
          Returns the name of the selected Intensity Measure
 java.util.ArrayList<java.lang.String> getSupportedIMTs()
           
 void imrChange(ScalarIMRChangeEvent event)
          Function that must be implemented by all Listeners for AttenuationRelationshipChangeEvents.
 void parameterChange(ParameterChangeEvent event)
          Function that must be implemented by all Listeners for ParameterChangeEvents.
 void removeIMTChangeListener(IMTChangeListener listener)
           
 void setIMR(ScalarIMR imr)
          Setup IMT GUI for single IMR
 void setIMRs(java.util.List<? extends ScalarIMR> imrs)
          Set IMT GUI for multiple IMRs.
static void setIMTinIMR(Parameter<java.lang.Double> imt, ScalarIMR imr)
          This will set the IMT (and it's independent params) in the given IMR.
 void setIMTinIMR(ScalarIMR imr)
          Sets the current IM in the given IMR
 void setIMTinIMRs(java.util.Map<TectonicRegionType,ScalarIMR> imrMap)
          Sets the current IM in each IMR in the given IMR map
static void setIMTinIMRs(Parameter<java.lang.Double> imt, java.util.Map<TectonicRegionType,ScalarIMR> imrMap)
          Set the IMT in each IMR contained in the IMR map
 void setSelectedIMT(java.lang.String imtName)
          Set the selected Intensity Measure by name
 void setSupportedPeriods(java.util.List<java.lang.Double> supportedPeriods)
          Sets the periods that should be displayed...by default all periods will be displayed, even those only supported by a single IMR.
 
Methods inherited from class org.opensha.commons.param.editor.impl.ParameterListEditor
addParameters, getParameterEditor, getParameterList, getVisibleParameters, getVisibleParametersCloned, refreshParamEditor, replaceParameterForEditor, setEnabled, setParameterList, setParameterVisible
 
Methods inherited from class org.opensha.commons.gui.LabeledBoxPanel
add, add, add, add, add, addPanel, getBorderColor, getHeaderPanelBackgroundColor, getTitle, jbInit, remove, remove, removeAll, setHeaderPanelBackgroundColor, setLayout, setTitle
 
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, getBaseline, getBaselineResizeBehavior, 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, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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
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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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

IMT_PARAM_NAME

public static final java.lang.String IMT_PARAM_NAME
See Also:
Constant Field Values

TITLE

public static final java.lang.String TITLE
See Also:
Constant Field Values
Constructor Detail

IMT_NewGuiBean

public IMT_NewGuiBean(ScalarIMR imr)
Init with single IMR

Parameters:
imr -

IMT_NewGuiBean

public IMT_NewGuiBean(IMR_MultiGuiBean imrGuiBean)
Init with an IMR gui bean. Listeners will be set up so that the IMT GUI will be updated when the IMRs change, and visa-versa.

Parameters:
imrGuiBean -

IMT_NewGuiBean

public IMT_NewGuiBean(java.util.List<? extends ScalarIMR> imrs)
Init with a list of IMRs

Parameters:
imrs -
Method Detail

setIMR

public void setIMR(ScalarIMR imr)
Setup IMT GUI for single IMR

Parameters:
imr -

setIMRs

public void setIMRs(java.util.List<? extends ScalarIMR> imrs)
Set IMT GUI for multiple IMRs. All IMTs supported by at least one IMR will be displayed.

Parameters:
imrs -

getSelectedIMT

public java.lang.String getSelectedIMT()
Returns the name of the selected Intensity Measure

Returns:

setSelectedIMT

public void setSelectedIMT(java.lang.String imtName)
Set the selected Intensity Measure by name

Parameters:
imtName -

getSupportedIMTs

public java.util.ArrayList<java.lang.String> getSupportedIMTs()

getSelectedIM

public Parameter<java.lang.Double> getSelectedIM()
Returns:
The selected intensity measure parameter

parameterChange

public void parameterChange(ParameterChangeEvent event)
Description copied from interface: ParameterChangeListener
Function that must be implemented by all Listeners for ParameterChangeEvents.

Specified by:
parameterChange in interface ParameterChangeListener
Parameters:
event - The Event which triggered this function call

addIMTChangeListener

public void addIMTChangeListener(IMTChangeListener listener)

removeIMTChangeListener

public void removeIMTChangeListener(IMTChangeListener listener)

clearIMTChangeListeners

public void clearIMTChangeListeners(IMTChangeListener listener)

setIMTinIMR

public void setIMTinIMR(ScalarIMR imr)
Sets the current IM in the given IMR

Parameters:
imr -

setIMTinIMRs

public void setIMTinIMRs(java.util.Map<TectonicRegionType,ScalarIMR> imrMap)
Sets the current IM in each IMR in the given IMR map

Parameters:
imrMap -

setIMTinIMR

public static void setIMTinIMR(Parameter<java.lang.Double> imt,
                               ScalarIMR imr)
This will set the IMT (and it's independent params) in the given IMR. If you simply called setIntensityMeasure for the IMR, it might throw an error because the IMT could have been cloned or could be from another IMR. This gets around that problem by setting the IMR by name, then setting the value of each independent parameter.

Parameters:
imt -
imr -

setIMTinIMRs

public static void setIMTinIMRs(Parameter<java.lang.Double> imt,
                                java.util.Map<TectonicRegionType,ScalarIMR> imrMap)
Set the IMT in each IMR contained in the IMR map

Parameters:
imt -
imrMap -

setSupportedPeriods

public void setSupportedPeriods(java.util.List<java.lang.Double> supportedPeriods)
Sets the periods that should be displayed...by default all periods will be displayed, even those only supported by a single IMR.

Parameters:
supportedPeriods -

getCommonPeriods

public static java.util.ArrayList<java.lang.Double> getCommonPeriods(java.util.Collection<? extends ScalarIMR> imrs)
Creates a list of periods common to all of the given IMRs

Parameters:
imrs -
Returns:

getAllSupportedPeriods

public static java.util.ArrayList<java.lang.Double> getAllSupportedPeriods(java.util.Collection<? extends ScalarIMR> imrs)
Creates a list of all periods found in any of the given IMRs

Parameters:
imrs -
Returns:

imrChange

public void imrChange(ScalarIMRChangeEvent event)
Description copied from interface: ScalarIMRChangeListener
Function that must be implemented by all Listeners for AttenuationRelationshipChangeEvents.

Specified by:
imrChange in interface ScalarIMRChangeListener
Parameters:
event - The Event which triggered this function call