Class AtomSetChooser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- org.openscience.jmol.app.jmolpanel.AtomSetChooser
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.beans.PropertyChangeListener
,java.io.Serializable
,java.lang.Runnable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ChangeListener
,javax.swing.event.TreeSelectionListener
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class AtomSetChooser extends javax.swing.JFrame implements javax.swing.event.TreeSelectionListener, java.beans.PropertyChangeListener, java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.lang.Runnable
A JFrame that allows for choosing an Atomset to view.- Author:
- René Kanters, University of Richmond
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
AtomSetChooser.AtomSet
Objects in the AtomSetChooser tree-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private static float
AMPLITUDE_MAX
Maximum value for vibration scale.private static float
AMPLITUDE_PRECISION
Precision of the vibration scale sliderprivate static float
AMPLITUDE_VALUE
Initial value of vibration scale.private javax.swing.JSlider
amplitudeSlider
private java.lang.Thread
animThread
(package private) static java.lang.String
COLLECTION
String for prefix/resource identifier for the collection area.private int
currentIndex
(package private) static java.lang.String
FF
private static int
FPS_MAX
Maximum value for the fps slider.private javax.swing.JSlider
fpsSlider
private int[]
indexes
Sequence of atom set indexes in current tree selection for a branch, or siblings for a leaf.private javax.swing.JLabel
infoLabel
(package private) static java.lang.String
NEXT
(package private) static java.lang.String
PAUSE
private static float
PERIOD_MAX
Maximum value for the vibration period in seconds.private static float
PERIOD_PRECISION
Precision of the vibration period slider in seconds.private static float
PERIOD_VALUE
Initial value for the vibration period in seconds.private javax.swing.JSlider
periodSlider
(package private) static java.lang.String
PLAY
(package private) static java.lang.String
PREVIOUS
private javax.swing.JTextArea
propertiesTextArea
private static int
RADIUS_MAX
Maximum value for vector radius.private static int
RADIUS_VALUE
Initial value of vector radius.private javax.swing.JSlider
radiusSlider
private int
radiusValue
private javax.swing.JCheckBox
repeatCheckBox
(package private) static java.lang.String
REWIND
(package private) static java.lang.String
SAVE
private javax.swing.JFileChooser
saveChooser
private static float
SCALE_MAX
Maximum value for vector scale.private static float
SCALE_PRECISION
Precision of the vector scale sliderprivate static float
SCALE_VALUE
Initial value of vector scale.private javax.swing.JSlider
scaleSlider
private javax.swing.JSlider
selectSlider
private javax.swing.JTree
tree
private javax.swing.tree.DefaultTreeModel
treeModel
(package private) static java.lang.String
VECTOR
String for prefix/resource identifier for the vector area.private Viewer
vwr
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description AtomSetChooser(Viewer vwr, javax.swing.JFrame frame)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
private void
createTreeModel()
Creates the treeModel of the AtomSets available in the JmolViewerprivate javax.swing.JPanel
createVCRController(java.lang.String section)
Creates a VCR type set of controller inside a JPanel.void
findFrequency(int index, int increment)
Have the vwr show a particular frame with frequencies if it can be found.private void
layoutWindow(java.awt.Container container)
void
propertyChange(java.beans.PropertyChangeEvent propertyChangeEvent)
void
run()
void
saveXYZCollection()
Saves the currently active collection as a multistep XYZ file.private void
script(java.lang.String cmd)
protected void
setIndexes(javax.swing.tree.DefaultMutableTreeNode node)
Sets the indexes to the atomSetIndex values of each leaf of the node.protected void
showAtomSetIndex(int index, boolean bSetSelectSlider)
Show an atom set from the indexes arrayprotected void
showAuxiliaryInfo(java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo)
Shows the auxiliary information in the propertiesPane of the AtomSetChooser windowprotected void
showProperties(java.util.Properties properties)
Shows the properties in the propertiesPane of the AtomSetChooser windowvoid
stateChanged(javax.swing.event.ChangeEvent e)
void
valueChanged(javax.swing.event.TreeSelectionEvent e)
-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
animThread
private java.lang.Thread animThread
-
propertiesTextArea
private javax.swing.JTextArea propertiesTextArea
-
tree
private javax.swing.JTree tree
-
treeModel
private javax.swing.tree.DefaultTreeModel treeModel
-
vwr
private Viewer vwr
-
repeatCheckBox
private javax.swing.JCheckBox repeatCheckBox
-
selectSlider
private javax.swing.JSlider selectSlider
-
infoLabel
private javax.swing.JLabel infoLabel
-
fpsSlider
private javax.swing.JSlider fpsSlider
-
amplitudeSlider
private javax.swing.JSlider amplitudeSlider
-
periodSlider
private javax.swing.JSlider periodSlider
-
scaleSlider
private javax.swing.JSlider scaleSlider
-
radiusSlider
private javax.swing.JSlider radiusSlider
-
saveChooser
private javax.swing.JFileChooser saveChooser
-
REWIND
static final java.lang.String REWIND
- See Also:
- Constant Field Values
-
PREVIOUS
static final java.lang.String PREVIOUS
- See Also:
- Constant Field Values
-
PLAY
static final java.lang.String PLAY
- See Also:
- Constant Field Values
-
PAUSE
static final java.lang.String PAUSE
- See Also:
- Constant Field Values
-
NEXT
static final java.lang.String NEXT
- See Also:
- Constant Field Values
-
FF
static final java.lang.String FF
- See Also:
- Constant Field Values
-
SAVE
static final java.lang.String SAVE
- See Also:
- Constant Field Values
-
COLLECTION
static final java.lang.String COLLECTION
String for prefix/resource identifier for the collection area. This value is used in the Jmol properties files.- See Also:
- Constant Field Values
-
VECTOR
static final java.lang.String VECTOR
String for prefix/resource identifier for the vector area. This value is used in the Jmol properties files.- See Also:
- Constant Field Values
-
indexes
private int[] indexes
Sequence of atom set indexes in current tree selection for a branch, or siblings for a leaf.
-
currentIndex
private int currentIndex
-
FPS_MAX
private static final int FPS_MAX
Maximum value for the fps slider.- See Also:
- Constant Field Values
-
AMPLITUDE_PRECISION
private static final float AMPLITUDE_PRECISION
Precision of the vibration scale slider- See Also:
- Constant Field Values
-
AMPLITUDE_MAX
private static final float AMPLITUDE_MAX
Maximum value for vibration scale. Should be in preferences?- See Also:
- Constant Field Values
-
AMPLITUDE_VALUE
private static final float AMPLITUDE_VALUE
Initial value of vibration scale. Should be in preferences?- See Also:
- Constant Field Values
-
PERIOD_PRECISION
private static final float PERIOD_PRECISION
Precision of the vibration period slider in seconds.- See Also:
- Constant Field Values
-
PERIOD_MAX
private static final float PERIOD_MAX
Maximum value for the vibration period in seconds. Should be in preferences?- See Also:
- Constant Field Values
-
PERIOD_VALUE
private static final float PERIOD_VALUE
Initial value for the vibration period in seconds. Should be in preferences?- See Also:
- Constant Field Values
-
RADIUS_MAX
private static final int RADIUS_MAX
Maximum value for vector radius.- See Also:
- Constant Field Values
-
RADIUS_VALUE
private static final int RADIUS_VALUE
Initial value of vector radius. Should be in preferences?- See Also:
- Constant Field Values
-
SCALE_PRECISION
private static final float SCALE_PRECISION
Precision of the vector scale slider- See Also:
- Constant Field Values
-
SCALE_MAX
private static final float SCALE_MAX
Maximum value for vector scale. Should be in preferences?- See Also:
- Constant Field Values
-
SCALE_VALUE
private static final float SCALE_VALUE
Initial value of vector scale. Should be in preferences?- See Also:
- Constant Field Values
-
radiusValue
private int radiusValue
-
-
Constructor Detail
-
AtomSetChooser
public AtomSetChooser(Viewer vwr, javax.swing.JFrame frame)
-
-
Method Detail
-
layoutWindow
private void layoutWindow(java.awt.Container container)
-
createVCRController
private javax.swing.JPanel createVCRController(java.lang.String section)
Creates a VCR type set of controller inside a JPanel.Uses the JmolResourceHandler to get the label for the panel, the images for the buttons, and the tooltips. The button names are
rewind
,prev
,play
,pause
,next
, andff
.The handler for the buttons should determine from the getActionCommand which button in which section triggered the actionEvent, which is identified by
{section}.{name}
.- Parameters:
section
- String of the section that the controller belongs to.- Returns:
- The JPanel
-
valueChanged
public void valueChanged(javax.swing.event.TreeSelectionEvent e)
- Specified by:
valueChanged
in interfacejavax.swing.event.TreeSelectionListener
-
showAtomSetIndex
protected void showAtomSetIndex(int index, boolean bSetSelectSlider)
Show an atom set from the indexes array- Parameters:
index
- The index in the index arraybSetSelectSlider
- If true, updates the selectSlider
-
setIndexes
protected void setIndexes(javax.swing.tree.DefaultMutableTreeNode node)
Sets the indexes to the atomSetIndex values of each leaf of the node.- Parameters:
node
- The node whose leaf's atomSetIndex values should be used
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
saveXYZCollection
public void saveXYZCollection()
Saves the currently active collection as a multistep XYZ file.
-
findFrequency
public void findFrequency(int index, int increment)
Have the vwr show a particular frame with frequencies if it can be found.- Parameters:
index
- Starting index where to start looking for frequenciesincrement
- Increment value for how to go through the list
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
- Specified by:
stateChanged
in interfacejavax.swing.event.ChangeListener
-
script
private void script(java.lang.String cmd)
-
showProperties
protected void showProperties(java.util.Properties properties)
Shows the properties in the propertiesPane of the AtomSetChooser window- Parameters:
properties
- Properties to be shown.
-
showAuxiliaryInfo
protected void showAuxiliaryInfo(java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo)
Shows the auxiliary information in the propertiesPane of the AtomSetChooser window- Parameters:
auxiliaryInfo
- Hashtable to be shown.
-
createTreeModel
private void createTreeModel()
Creates the treeModel of the AtomSets available in the JmolViewer
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent propertyChangeEvent)
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
-