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:
ActionListener
,ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,Runnable
,EventListener
,Accessible
,ChangeListener
,TreeSelectionListener
,RootPaneContainer
,WindowConstants
public class AtomSetChooser extends JFrame implements TreeSelectionListener, PropertyChangeListener, ActionListener, ChangeListener, 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
JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
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
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 JSlider
amplitudeSlider
private Thread
animThread
(package private) static String
COLLECTION
String for prefix/resource identifier for the collection area.private int
currentIndex
(package private) static String
FF
private static int
FPS_MAX
Maximum value for the fps slider.private JSlider
fpsSlider
private int[]
indexes
Sequence of atom set indexes in current tree selection for a branch, or siblings for a leaf.private JLabel
infoLabel
(package private) static String
NEXT
(package private) static 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 JSlider
periodSlider
(package private) static String
PLAY
(package private) static String
PREVIOUS
private JTextArea
propertiesTextArea
private static int
RADIUS_MAX
Maximum value for vector radius.private static int
RADIUS_VALUE
Initial value of vector radius.private JSlider
radiusSlider
private int
radiusValue
private JCheckBox
repeatCheckBox
(package private) static String
REWIND
(package private) static String
SAVE
private 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 JSlider
scaleSlider
private JSlider
selectSlider
private JTree
tree
private DefaultTreeModel
treeModel
(package private) static String
VECTOR
String for prefix/resource identifier for the vector area.private Viewer
vwr
-
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
-
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
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
-
Constructor Summary
Constructors Constructor Description AtomSetChooser(Viewer vwr, JFrame frame)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(ActionEvent e)
private void
createTreeModel()
Creates the treeModel of the AtomSets available in the JmolViewerprivate JPanel
createVCRController(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(Container container)
void
propertyChange(PropertyChangeEvent propertyChangeEvent)
void
run()
void
saveXYZCollection()
Saves the currently active collection as a multistep XYZ file.private void
script(String cmd)
protected void
setIndexes(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(Map<String,Object> auxiliaryInfo)
Shows the auxiliary information in the propertiesPane of the AtomSetChooser windowprotected void
showProperties(Properties properties)
Shows the properties in the propertiesPane of the AtomSetChooser windowvoid
stateChanged(ChangeEvent e)
void
valueChanged(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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
-
-
-
Field Detail
-
animThread
private Thread animThread
-
propertiesTextArea
private JTextArea propertiesTextArea
-
tree
private JTree tree
-
treeModel
private DefaultTreeModel treeModel
-
vwr
private Viewer vwr
-
repeatCheckBox
private JCheckBox repeatCheckBox
-
selectSlider
private JSlider selectSlider
-
infoLabel
private JLabel infoLabel
-
fpsSlider
private JSlider fpsSlider
-
amplitudeSlider
private JSlider amplitudeSlider
-
periodSlider
private JSlider periodSlider
-
scaleSlider
private JSlider scaleSlider
-
radiusSlider
private JSlider radiusSlider
-
saveChooser
private JFileChooser saveChooser
-
REWIND
static final String REWIND
- See Also:
- Constant Field Values
-
PREVIOUS
static final String PREVIOUS
- See Also:
- Constant Field Values
-
PLAY
static final String PLAY
- See Also:
- Constant Field Values
-
PAUSE
static final String PAUSE
- See Also:
- Constant Field Values
-
NEXT
static final String NEXT
- See Also:
- Constant Field Values
-
FF
static final String FF
- See Also:
- Constant Field Values
-
SAVE
static final String SAVE
- See Also:
- Constant Field Values
-
COLLECTION
static final 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 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
-
-
Method Detail
-
layoutWindow
private void layoutWindow(Container container)
-
createVCRController
private JPanel createVCRController(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(TreeSelectionEvent e)
- Specified by:
valueChanged
in interfaceTreeSelectionListener
-
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(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(ActionEvent e)
- Specified by:
actionPerformed
in interfaceActionListener
-
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(ChangeEvent e)
- Specified by:
stateChanged
in interfaceChangeListener
-
script
private void script(String cmd)
-
showProperties
protected void showProperties(Properties properties)
Shows the properties in the propertiesPane of the AtomSetChooser window- Parameters:
properties
- Properties to be shown.
-
showAuxiliaryInfo
protected void showAuxiliaryInfo(Map<String,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(PropertyChangeEvent propertyChangeEvent)
- Specified by:
propertyChange
in interfacePropertyChangeListener
-
-