org.openscience.jmol.app
Class PovrayDialog

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 org.openscience.jmol.app.PovrayDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class PovrayDialog
extends javax.swing.JDialog

A dialog for controling the creation of a povray input file from a Chemframe and a display. The actual leg work of writing the file out is done by PovrayWriter.java.

Borrows code from org.openscience.jmol.Vibrate (Thanks!).

Author:
Thomas James Grey (tjg1@ch.ic.ac.uk), Matthew A. Meineke (mmeineke@nd.edu)
See Also:
Serialized Form

Nested Class Summary
(package private)  class PovrayDialog.PovrayWindowListener
          Listener for responding to dialog window events.
 
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
protected  javax.swing.JCheckBox allFramesCheck
           
protected  javax.swing.JCheckBox antiAliasCheck
           
protected  javax.swing.JCheckBox displayWhileRenderingCheck
           
protected  javax.swing.JButton goButton
           
private  javax.swing.JLabel imageSizeHeight
           
private  javax.swing.JCheckBox imageSizeRatioBox
           
private  javax.swing.JComboBox imageSizeRatioCombo
           
private  javax.swing.JFormattedTextField imageSizeTextHeight
           
private  javax.swing.JFormattedTextField imageSizeTextWidth
           
private  javax.swing.JLabel imageSizeWidth
           
private  javax.swing.JCheckBox mosaicPreviewCheck
           
private  javax.swing.JComboBox mosaicPreviewComboEnd
           
private  javax.swing.JComboBox mosaicPreviewComboStart
           
private  javax.swing.JLabel mosaicPreviewEnd
           
private  javax.swing.JLabel mosaicPreviewStart
           
private  javax.swing.JCheckBox outputAlphaCheck
           
private  java.lang.String outputExtension
           
private  java.lang.String outputFileType
           
private  javax.swing.JCheckBox outputFormatCheck
           
private  javax.swing.JComboBox outputFormatCombo
           
private  int outputHeight
           
private  int outputWidth
           
protected  javax.swing.JButton povrayPathButton
           
protected  javax.swing.JTextField povrayPathLabel
           
protected  javax.swing.JCheckBox runPovCheck
           
protected  javax.swing.JTextField saveField
           
protected  javax.swing.JTextField savePathLabel
           
private  JmolViewer viewer
           
 
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
PovrayDialog(javax.swing.JFrame f, JmolViewer viewer)
          Creates a dialog for getting info related to output frames in povray format.
 
Method Summary
(package private)  void cancelPressed()
          Responds to cancel being press- or equivalent eg window closed.
protected  void centerDialog()
          Centers the dialog on the screen.
(package private)  java.lang.String doubleQuoteIfContainsSpace(java.lang.String str)
           
protected  java.lang.String getCommandLine()
          Generates a commandline from the options set for povray path etc and sets in the textField.
private  java.lang.String getINI()
          Save INI file
private  void getPathHistory()
          Just recovers the path settings from last session.
(package private)  void goPressed()
          Save or else launch povray- ie do our thang!
(package private)  void imageSizeChanged()
          Called when the ImageSize check box is modified
(package private)  void mosaicPreviewChanged()
          Called when the MosaicPreview check box is modified
(package private)  void outputFormatChanged()
          Called when the OutputFormat check box is modified
private  void saveHistory()
          Just saves the path settings from this session.
 void setImageDimensions(int imageWidth, int imageHeight)
          Sets the output image dimensions.
(package private)  void showPovrayPathDialog()
          Show a file selector when the savePath button is pressed.
(package private)  void showSavePathDialog()
          Show a file selector when the savePath button is pressed.
(package private)  java.lang.String simpleQuoteIfContainsSpace(java.lang.String str)
           
protected  void updateCommandLine()
           
protected  void updateScreen()
          Update screen informations
 
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, setVisible, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

viewer

private transient JmolViewer viewer

povrayPathButton

protected javax.swing.JButton povrayPathButton

goButton

protected javax.swing.JButton goButton

saveField

protected javax.swing.JTextField saveField

savePathLabel

protected javax.swing.JTextField savePathLabel

outputWidth

private int outputWidth

outputHeight

private int outputHeight

povrayPathLabel

protected javax.swing.JTextField povrayPathLabel

runPovCheck

protected javax.swing.JCheckBox runPovCheck

allFramesCheck

protected javax.swing.JCheckBox allFramesCheck

antiAliasCheck

protected javax.swing.JCheckBox antiAliasCheck

displayWhileRenderingCheck

protected javax.swing.JCheckBox displayWhileRenderingCheck

imageSizeWidth

private javax.swing.JLabel imageSizeWidth

imageSizeTextWidth

private javax.swing.JFormattedTextField imageSizeTextWidth

imageSizeHeight

private javax.swing.JLabel imageSizeHeight

imageSizeTextHeight

private javax.swing.JFormattedTextField imageSizeTextHeight

imageSizeRatioBox

private javax.swing.JCheckBox imageSizeRatioBox

imageSizeRatioCombo

private javax.swing.JComboBox imageSizeRatioCombo

outputFormatCheck

private javax.swing.JCheckBox outputFormatCheck

outputFormatCombo

private javax.swing.JComboBox outputFormatCombo

outputAlphaCheck

private javax.swing.JCheckBox outputAlphaCheck

mosaicPreviewCheck

private javax.swing.JCheckBox mosaicPreviewCheck

mosaicPreviewStart

private javax.swing.JLabel mosaicPreviewStart

mosaicPreviewComboStart

private javax.swing.JComboBox mosaicPreviewComboStart

mosaicPreviewEnd

private javax.swing.JLabel mosaicPreviewEnd

mosaicPreviewComboEnd

private javax.swing.JComboBox mosaicPreviewComboEnd

outputExtension

private java.lang.String outputExtension

outputFileType

private java.lang.String outputFileType
Constructor Detail

PovrayDialog

public PovrayDialog(javax.swing.JFrame f,
                    JmolViewer viewer)
Creates a dialog for getting info related to output frames in povray format.

Parameters:
f - The frame assosiated with the dialog
viewer - The interacting display we are reproducing (source of view angle info etc)
Method Detail

setImageDimensions

public void setImageDimensions(int imageWidth,
                               int imageHeight)
Sets the output image dimensions. Setting either to <= 0 will remove the height and width specification from the commandline- the resulting behaviour depends on povray!

Parameters:
imageWidth - The width of the image.
imageHeight - The height of the image.

goPressed

void goPressed()
Save or else launch povray- ie do our thang!


cancelPressed

void cancelPressed()
Responds to cancel being press- or equivalent eg window closed.


showSavePathDialog

void showSavePathDialog()
Show a file selector when the savePath button is pressed.


showPovrayPathDialog

void showPovrayPathDialog()
Show a file selector when the savePath button is pressed.


imageSizeChanged

void imageSizeChanged()
Called when the ImageSize check box is modified


outputFormatChanged

void outputFormatChanged()
Called when the OutputFormat check box is modified


mosaicPreviewChanged

void mosaicPreviewChanged()
Called when the MosaicPreview check box is modified


updateScreen

protected void updateScreen()
Update screen informations


updateCommandLine

protected void updateCommandLine()

getCommandLine

protected java.lang.String getCommandLine()
Generates a commandline from the options set for povray path etc and sets in the textField.

Returns:
command line

getINI

private java.lang.String getINI()
Save INI file

Returns:
INI data

centerDialog

protected void centerDialog()
Centers the dialog on the screen.


getPathHistory

private void getPathHistory()
Just recovers the path settings from last session.


saveHistory

private void saveHistory()
Just saves the path settings from this session.


doubleQuoteIfContainsSpace

java.lang.String doubleQuoteIfContainsSpace(java.lang.String str)

simpleQuoteIfContainsSpace

java.lang.String simpleQuoteIfContainsSpace(java.lang.String str)