org.opensourcephysics.cabrillo.tracker
Class ExportVideoDialog

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.opensourcephysics.cabrillo.tracker.ExportVideoDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ExportVideoDialog
extends javax.swing.JDialog

A dialog for exporting videos from a TrackerPanel.

Author:
Douglas Brown
See Also:
Serialized Form

Nested Class Summary
 
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.JLabel clipPropertiesLabel
           
protected  javax.swing.JButton closeButton
           
protected  javax.swing.JComboBox contentDropdown
           
protected  javax.swing.JComponent contentPanel
           
protected static java.util.TreeSet<java.lang.String> formatDescriptions
           
protected  javax.swing.JComboBox formatDropdown
           
protected  javax.swing.JComponent formatPanel
           
protected static java.util.HashMap<java.lang.Object,VideoType> formats
           
protected  java.awt.Dimension fullSize
           
protected  boolean isRefreshing
           
protected  java.beans.PropertyChangeListener listener
           
protected  int mainViewContentIndex
           
protected  boolean oddFirst
           
protected  java.lang.Object prevContentItem
           
protected  javax.swing.JButton saveAsButton
           
protected  java.lang.String savedFilePath
           
protected  java.awt.image.BufferedImage sizedImage
           
protected  javax.swing.JComboBox sizeDropdown
           
protected  javax.swing.JComponent sizePanel
           
protected  java.util.HashMap<java.lang.Object,java.awt.Dimension> sizes
           
protected  TrackerPanel trackerPanel
           
protected  java.awt.geom.AffineTransform transform
           
protected static ExportVideoDialog videoExporter
           
protected  javax.swing.JComboBox viewDropdown
           
protected  javax.swing.JComponent viewPanel
           
protected  java.util.HashMap<java.lang.Object,javax.swing.JComponent> views
           
protected  int worldViewContentIndex
           
 
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
 
Method Summary
protected  java.lang.String exportFullSizeVideo(java.lang.String filePath)
           
static ExportVideoDialog getDialog(TrackerPanel panel)
          Returns the singleton ExportVideoDialog for a specified TrackerPanel.
 java.lang.Object getFormat()
          Gets the currently selected video format (description).
protected  java.lang.Object[] getFormats()
           
 void refreshFormatDropdown(java.lang.String preferredExtension)
          Refreshes the format dropdown.
static void refreshFormats()
          Refreshes the format set.
protected  void setFormat(java.lang.Object format)
           
 
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, paint, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

videoExporter

protected static ExportVideoDialog videoExporter

formats

protected static java.util.HashMap<java.lang.Object,VideoType> formats

formatDescriptions

protected static java.util.TreeSet<java.lang.String> formatDescriptions

trackerPanel

protected TrackerPanel trackerPanel

saveAsButton

protected javax.swing.JButton saveAsButton

closeButton

protected javax.swing.JButton closeButton

sizePanel

protected javax.swing.JComponent sizePanel

viewPanel

protected javax.swing.JComponent viewPanel

contentPanel

protected javax.swing.JComponent contentPanel

formatPanel

protected javax.swing.JComponent formatPanel

formatDropdown

protected javax.swing.JComboBox formatDropdown

viewDropdown

protected javax.swing.JComboBox viewDropdown

sizeDropdown

protected javax.swing.JComboBox sizeDropdown

contentDropdown

protected javax.swing.JComboBox contentDropdown

clipPropertiesLabel

protected javax.swing.JLabel clipPropertiesLabel

transform

protected java.awt.geom.AffineTransform transform

sizedImage

protected java.awt.image.BufferedImage sizedImage

views

protected java.util.HashMap<java.lang.Object,javax.swing.JComponent> views

sizes

protected java.util.HashMap<java.lang.Object,java.awt.Dimension> sizes

fullSize

protected java.awt.Dimension fullSize

isRefreshing

protected boolean isRefreshing

mainViewContentIndex

protected int mainViewContentIndex

worldViewContentIndex

protected int worldViewContentIndex

savedFilePath

protected java.lang.String savedFilePath

listener

protected java.beans.PropertyChangeListener listener

oddFirst

protected boolean oddFirst

prevContentItem

protected java.lang.Object prevContentItem
Method Detail

getDialog

public static ExportVideoDialog getDialog(TrackerPanel panel)
Returns the singleton ExportVideoDialog for a specified TrackerPanel.

Parameters:
panel - the TrackerPanel
Returns:
the ExportVideoDialog

refreshFormats

public static void refreshFormats()
Refreshes the format set.


getFormats

protected java.lang.Object[] getFormats()

setFormat

protected void setFormat(java.lang.Object format)

getFormat

public java.lang.Object getFormat()
Gets the currently selected video format (description).

Returns:
the format

exportFullSizeVideo

protected java.lang.String exportFullSizeVideo(java.lang.String filePath)

refreshFormatDropdown

public void refreshFormatDropdown(java.lang.String preferredExtension)
Refreshes the format dropdown.

Parameters:
preferredExtension - the preferred video file extension