org.opensha.sha.gcim.ui
Class IMT_GcimGuiBean

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.gcim.ui.IMT_GcimGuiBean
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ParameterChangeListener, ScalarIMRChangeListener

public class IMT_GcimGuiBean
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, modified by Brendon for GCIM specifics
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String IMT_PARAM_NAME
           
static String TITLE
           
 
Fields inherited from class org.opensha.commons.param.editor.impl.ParameterListEditor
C, 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_GcimGuiBean(IMR_MultiGuiBean imrGuiBean, IMCorrRel_MultiGuiBean imCorrRelGuiBean, Parameter<Double> imj, ArrayList<String> currentIMiList)
          Init with an IMR and IMCorrRel gui bean.
IMT_GcimGuiBean(List<? extends ScalarIMR> imrs, ArrayList<ImCorrelationRelationship> imCorrRels, Parameter<Double> imj, ArrayList<String> currentIMiList)
          Init with a list of IMRs and IMCorrRels
IMT_GcimGuiBean(ScalarIMR imr, ImCorrelationRelationship imCorrRel, Parameter<Double> imj, ArrayList<String> currentIMiList)
          Init with single IMR and IMCorrRel
 
Method Summary
 void addIMTChangeListener(IMTChangeListener listener)
           
 void clearIMTChangeListeners(IMTChangeListener listener)
           
static ArrayList<Double> getAllSupportedPeriods(Collection<? extends ScalarIMR> imrs)
          Creates a list of all periods found in any of the given IMRs
static ArrayList<Double> getCommonPeriods(Collection<? extends ScalarIMR> imrs)
          Creates a list of periods common to all of the given IMRs
 ParameterList getIMTParams()
          This method gets the a single
 Parameter<Double> getSelectedIM()
           
 String getSelectedIMT()
          Returns the name of the selected Intensity Measure
 ArrayList<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 setIMRIMCorrRel(ScalarIMR imr, ImCorrelationRelationship imCorrRel)
          Setup IMT GUI for single IMR and IMCorrRel
 void setIMRsIMCorrRels(List<? extends ScalarIMR> imrs, ArrayList<ImCorrelationRelationship> imCorrRels)
          Set IMT GUI for multiple IMRs and IMCorrRels.
static void setIMTinIMR(Parameter<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 IMT in the given IMR
 void setIMTinIMRs(Map<TectonicRegionType,ScalarIMR> imrMap)
          Sets the current IM in each IMR in the given IMR map
static void setIMTinIMRs(Parameter<Double> imt, Map<TectonicRegionType,ScalarIMR> imrMap)
          Set the IMT in each IMR contained in the IMR map
 void setIMTsInIMCorrRel(ImCorrelationRelationship imCorrRel, Parameter<Double> imj)
          Sets the current IMi and IMj in the given IMCorrRel
static void setIMTsinIMCorrRel(Parameter<Double> imti, Parameter<Double> imtj, ImCorrelationRelationship imCorrRel)
          This will set the IMTs (both IMi and IMj and their independent params) in the given IMCorrRel.
 void setIMTsinIMCorrRels(Map<TectonicRegionType,ImCorrelationRelationship> imCorrRelMap, Parameter<Double> imj)
          Sets the current IMTs in each IMCorrRel in the given IMCorrRel map
static void setIMTsInIMCorrRels(Parameter<Double> imti, Parameter<Double> imtj, Map<TectonicRegionType,ImCorrelationRelationship> imCorrRelMap)
          Set the IMTs in each IMCorrRel contained in the IMCorrRel map
 void setSelectedIMT(String imtName)
          Set the selected Intensity Measure by name
 void setSelectedIMTPeriod(double period)
          Set the selected Intensity measure period
 void setSupportedPeriods(ArrayList<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 String IMT_PARAM_NAME
See Also:
Constant Field Values

TITLE

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

IMT_GcimGuiBean

public IMT_GcimGuiBean(ScalarIMR imr,
                       ImCorrelationRelationship imCorrRel,
                       Parameter<Double> imj,
                       ArrayList<String> currentIMiList)
Init with single IMR and IMCorrRel

Parameters:
imr -

IMT_GcimGuiBean

public IMT_GcimGuiBean(IMR_MultiGuiBean imrGuiBean,
                       IMCorrRel_MultiGuiBean imCorrRelGuiBean,
                       Parameter<Double> imj,
                       ArrayList<String> currentIMiList)
Init with an IMR and IMCorrRel gui bean. Listeners will be set up so that the IMT GUI will be updated when the IMRs and IMCorrRels change, and visa-versa.

Parameters:
imrGuiBean -
imCorrRelGuiBean -

IMT_GcimGuiBean

public IMT_GcimGuiBean(List<? extends ScalarIMR> imrs,
                       ArrayList<ImCorrelationRelationship> imCorrRels,
                       Parameter<Double> imj,
                       ArrayList<String> currentIMiList)
Init with a list of IMRs and IMCorrRels

Parameters:
imrs -
Method Detail

setIMRIMCorrRel

public void setIMRIMCorrRel(ScalarIMR imr,
                            ImCorrelationRelationship imCorrRel)
Setup IMT GUI for single IMR and IMCorrRel

Parameters:
imr -

setIMRsIMCorrRels

public void setIMRsIMCorrRels(List<? extends ScalarIMR> imrs,
                              ArrayList<ImCorrelationRelationship> imCorrRels)
Set IMT GUI for multiple IMRs and IMCorrRels. All IMTs supported by at least one IMCorrRel and IMR will be displayed.

Parameters:
imrs, - imCorrRels

getSelectedIMT

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

Returns:

setSelectedIMT

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

Parameters:
imtName -

setSelectedIMTPeriod

public void setSelectedIMTPeriod(double period)
Set the selected Intensity measure period


getSupportedIMTs

public ArrayList<String> getSupportedIMTs()

getSelectedIM

public Parameter<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 IMT in the given IMR

Parameters:
imr -

setIMTsInIMCorrRel

public void setIMTsInIMCorrRel(ImCorrelationRelationship imCorrRel,
                               Parameter<Double> imj)
Sets the current IMi and IMj in the given IMCorrRel

Parameters:
imr -

setIMTinIMRs

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

Parameters:
imrMap -

setIMTsinIMCorrRels

public void setIMTsinIMCorrRels(Map<TectonicRegionType,ImCorrelationRelationship> imCorrRelMap,
                                Parameter<Double> imj)
Sets the current IMTs in each IMCorrRel in the given IMCorrRel map

Parameters:
imrMap -

setIMTinIMR

public static void setIMTinIMR(Parameter<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 IMT by name, then setting the value of each independent parameter.

Parameters:
imt -
imr -

setIMTsinIMCorrRel

public static void setIMTsinIMCorrRel(Parameter<Double> imti,
                                      Parameter<Double> imtj,
                                      ImCorrelationRelationship imCorrRel)
This will set the IMTs (both IMi and IMj and their independent params) in the given IMCorrRel. If you simply called setIntensityMeasure for the IMCorrRel, it might throw an error because the IMT could have been cloned or could be from another IMCorrRel. This gets around that problem by setting the IMCorrRel by name, then setting the value of each independent parameter.

Parameters:
imti, - imtj
imr -

setIMTinIMRs

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

Parameters:
imt -
imrMap -

setIMTsInIMCorrRels

public static void setIMTsInIMCorrRels(Parameter<Double> imti,
                                       Parameter<Double> imtj,
                                       Map<TectonicRegionType,ImCorrelationRelationship> imCorrRelMap)
Set the IMTs in each IMCorrRel contained in the IMCorrRel map

Parameters:
imti, - imtj
imrMap -

setSupportedPeriods

public void setSupportedPeriods(ArrayList<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 ArrayList<Double> getCommonPeriods(Collection<? extends ScalarIMR> imrs)
Creates a list of periods common to all of the given IMRs

Parameters:
imrs -
Returns:

getAllSupportedPeriods

public static ArrayList<Double> getAllSupportedPeriods(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

getIMTParams

public ParameterList getIMTParams()
This method gets the a single