jfig.gui
Class JExportOptionsDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended byjfig.gui.JExportOptionsDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class JExportOptionsDialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener, java.awt.event.ItemListener

dialog window to specify fig2dev export options and handle export.

See Also:
Serialized Form

Nested Class Summary
(package private)  class JExportOptionsDialog.KeyMultiplexer
           
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 int A4_HEIGHT
           
 int A4_WIDTH
           
(package private)  boolean autosave
           
(package private)  javax.swing.JCheckBox autosaveCB
           
(package private)  FigBbox bbox
           
 int BLACK_WHITE
           
 java.lang.String BLACK_WHITE_STRING
           
(package private)  javax.swing.JButton cancelButton
           
(package private)  javax.swing.JComboBox centerChoice
           
(package private)  javax.swing.JComboBox colorChoice
           
(package private)  javax.swing.JTextField commandLineTF
           
(package private)  JConsole console
           
(package private)  java.lang.String[][] data
           
(package private)  boolean debug
           
(package private)  javax.swing.JTextField directoryTF
           
(package private)  FigBasicEditor editor
           
(package private)  javax.swing.JButton exportNowButton
           
(package private)  java.lang.String fig2devEEPIC
           
(package private)  java.lang.String fig2devEPIC
           
(package private)  java.lang.String fig2devEPS
           
(package private)  java.lang.String fig2devGIF
           
(package private)  java.lang.String fig2devIBMGL
           
(package private)  java.lang.String fig2devJPG
           
(package private)  java.lang.String fig2devLATEX
           
(package private)  double fig2devMagnification
           
(package private)  java.lang.String fig2devPath
           
(package private)  javax.swing.JTextField fig2devPathTF
           
(package private)  java.lang.String fig2devPICTEX
           
(package private)  java.lang.String fig2devPNG
           
(package private)  java.lang.String fig2devPPM
           
(package private)  java.lang.String fig2devPS
           
(package private)  boolean fig2devPSCentered
           
(package private)  boolean fig2devPSOrientation
           
(package private)  java.lang.String fig2devPSTEX
           
(package private)  java.lang.String fig2devTIFF
           
(package private)  javax.swing.JFileChooser fileChooser
           
(package private)  javax.swing.JButton filenameButton
           
(package private)  javax.swing.JTextField filenameTF
           
(package private)  javax.swing.JButton fitToPageButton
           
 int FULL_COLORS
           
 java.lang.String FULL_COLORS_STRING
           
 int IO_COLORS
           
 java.lang.String IO_COLORS_STRING
           
(package private)  javax.swing.JComboBox languageChoice
           
(package private)  javax.swing.JTextField magnificationTF
           
(package private)  javax.swing.JComboBox orientationChoice
           
(package private)  java.awt.Frame parent
           
(package private)  java.lang.String printCommand
           
(package private)  javax.swing.JCheckBox quoteNamesCB
           
(package private)  boolean requestAntiAliasing
           
(package private)  boolean showColorOptions
           
(package private)  javax.swing.JLabel sizeLabel
           
(package private)  boolean waitExec
           
(package private)  javax.swing.JTextField xoffsetTF
           
(package private)  javax.swing.JTextField yoffsetTF
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
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
JExportOptionsDialog(java.awt.Frame parent)
          construct a new JExportOptionsDialog, ask SetupManager for the fig2dev parameters
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void buildCallbacks()
           
 void buildGUI()
           
 void checkRequestAntiAliasing(java.awt.Graphics g)
           
 void dbg(java.lang.String s)
           
 void doAutoSave()
           
 void doAutoSaveDummy()
           
 void doBrowseFilename()
           
 void doExportEEPIC()
           
 void doExportEPIC()
           
 void doExportEPS()
           
 void doExportNativeGIF()
           
 void doExportNativePNG()
           
 void doExportNativePPM()
           
 void doExportNow()
          this method just calls Runtime.exec() with the current value of the 'command line'.
 void doExportPrintPS()
           
 void doExportPS()
           
 void fitToLandscapeA4()
          set the magnification factor to fit all objects into a page of format A4, landscape orientation.
 void getAndSetDefaultFont()
           
 int getColorOption()
          get the currently selected color option.
 java.lang.String getExtension()
          get filename extensions corresponding to current export language selection.
 java.lang.String getFig2devMagnification()
           
 java.lang.String getFig2devPath()
           
 java.lang.String getFig2devPSCentered()
           
 java.lang.String getFig2devPSOffset()
           
 java.lang.String getFig2devPSOrientation()
           
 java.lang.String getFigFilename()
           
 int getJustification()
           
 double getMagnification()
          return the magnification factor to use for exporting or printing.
 int getOrientation()
           
 java.lang.String getOutFilename()
           
 java.lang.String getRoundedValue(double d)
           
 void itemStateChanged(java.awt.event.ItemEvent e)
           
 void loadExportSetup()
          load the following export and fig2dev related setup parameters:
static void main(java.lang.String[] argv)
          selftest for debugging
 void msg(java.lang.String s)
           
 void printSubprocessOutput(java.lang.Process PR)
           
 void requestAntiAliasing(boolean b)
           
 void setConsole(JConsole console)
           
 void setEditor(FigBasicEditor editor)
           
 void setFig2devPSCentered(boolean centered)
           
 void setFig2devPSOrientation(boolean portrait)
           
 void setFilename(java.lang.String filename)
          set and show the filename selected by the user
 void setMagnification(double d)
          set a new value for the magnification factor, e.g.
 void showSize()
          display the size of the current drawing at selected magnification, in inches, using the sizeLabel GUI component.
 void updateCommandLine()
           
 void updateFigObjectsBoundingBox()
          (re-) calculate the bounding box of all FIG objects on objectCanvas
 void updateOutFilenameExtension()
          update the current filename's extension based on the currently selected export language, e.g.
 void updateOutFilenameFromFigFilename()
          this method should be called whenever a new FIG file is loaded into the editor, to guarantee that the output filename is changed to match the new input file.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FULL_COLORS

public final int FULL_COLORS
See Also:
Constant Field Values

IO_COLORS

public final int IO_COLORS
See Also:
Constant Field Values

BLACK_WHITE

public final int BLACK_WHITE
See Also:
Constant Field Values

FULL_COLORS_STRING

public final java.lang.String FULL_COLORS_STRING
See Also:
Constant Field Values

IO_COLORS_STRING

public final java.lang.String IO_COLORS_STRING
See Also:
Constant Field Values

BLACK_WHITE_STRING

public final java.lang.String BLACK_WHITE_STRING
See Also:
Constant Field Values

A4_WIDTH

public final int A4_WIDTH
See Also:
Constant Field Values

A4_HEIGHT

public final int A4_HEIGHT
See Also:
Constant Field Values

parent

java.awt.Frame parent

magnificationTF

javax.swing.JTextField magnificationTF

xoffsetTF

javax.swing.JTextField xoffsetTF

yoffsetTF

javax.swing.JTextField yoffsetTF

languageChoice

javax.swing.JComboBox languageChoice

orientationChoice

javax.swing.JComboBox orientationChoice

centerChoice

javax.swing.JComboBox centerChoice

colorChoice

javax.swing.JComboBox colorChoice

autosaveCB

javax.swing.JCheckBox autosaveCB

quoteNamesCB

javax.swing.JCheckBox quoteNamesCB

exportNowButton

javax.swing.JButton exportNowButton

cancelButton

javax.swing.JButton cancelButton

filenameButton

javax.swing.JButton filenameButton

fitToPageButton

javax.swing.JButton fitToPageButton

filenameTF

javax.swing.JTextField filenameTF

directoryTF

javax.swing.JTextField directoryTF

fig2devPathTF

javax.swing.JTextField fig2devPathTF

commandLineTF

javax.swing.JTextField commandLineTF

sizeLabel

javax.swing.JLabel sizeLabel

fileChooser

javax.swing.JFileChooser fileChooser

console

JConsole console

debug

boolean debug

autosave

boolean autosave

waitExec

boolean waitExec

showColorOptions

boolean showColorOptions

requestAntiAliasing

boolean requestAntiAliasing

data

java.lang.String[][] data

printCommand

java.lang.String printCommand

fig2devPath

java.lang.String fig2devPath

fig2devPS

java.lang.String fig2devPS

fig2devEPS

java.lang.String fig2devEPS

fig2devIBMGL

java.lang.String fig2devIBMGL

fig2devLATEX

java.lang.String fig2devLATEX

fig2devPSTEX

java.lang.String fig2devPSTEX

fig2devPICTEX

java.lang.String fig2devPICTEX

fig2devJPG

java.lang.String fig2devJPG

fig2devGIF

java.lang.String fig2devGIF

fig2devTIFF

java.lang.String fig2devTIFF

fig2devPNG

java.lang.String fig2devPNG

fig2devPPM

java.lang.String fig2devPPM

fig2devEPIC

java.lang.String fig2devEPIC

fig2devEEPIC

java.lang.String fig2devEEPIC

fig2devPSCentered

boolean fig2devPSCentered

fig2devPSOrientation

boolean fig2devPSOrientation

fig2devMagnification

double fig2devMagnification

editor

FigBasicEditor editor

bbox

FigBbox bbox
Constructor Detail

JExportOptionsDialog

public JExportOptionsDialog(java.awt.Frame parent)
construct a new JExportOptionsDialog, ask SetupManager for the fig2dev parameters

Method Detail

setEditor

public void setEditor(FigBasicEditor editor)

setConsole

public void setConsole(JConsole console)

buildGUI

public void buildGUI()

buildCallbacks

public void buildCallbacks()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

loadExportSetup

public void loadExportSetup()
load the following export and fig2dev related setup parameters:
       jfig.gui.JExportOptionsDialog.Debug
       jfig.gui.JExportOptionsDialog.Autosave
       jfig.gui.JExportOptionsDialog.Print
       jfig.gui.JExportOptionsDialog.fig2devPath
       jfig.gui.JExportOptionsDialog.fig2devPS
       jfig.gui.JExportOptionsDialog.fig2devEPS
       jfig.gui.JExportOptionsDialog.fig2devIBMGL
       jfig.gui.JExportOptionsDialog.fig2devLATEX
       jfig.gui.JExportOptionsDialog.fig2devPSTEX
       jfig.gui.JExportOptionsDialog.fig2devPICTEX
       jfig.gui.JExportOptionsDialog.fig2devPPM
       jfig.gui.JExportOptionsDialog.fig2devJPG
       jfig.gui.JExportOptionsDialog.fig2devGIF
       jfig.gui.JExportOptionsDialog.fig2devPNG
       jfig.gui.JExportOptionsDialog.fig2devWaitFor
     


getAndSetDefaultFont

public void getAndSetDefaultFont()

getColorOption

public int getColorOption()
get the currently selected color option. Possible values are FULL_COLORS, IO_COLORS, and BLACK_WHITE.


showSize

public void showSize()
display the size of the current drawing at selected magnification, in inches, using the sizeLabel GUI component. Note: This method assumes that the bounding box of the FIG objects has already been calculated via updateFigObjectsBoundingBox().


setMagnification

public void setMagnification(double d)
set a new value for the magnification factor, e.g. setMagnification( 1.0 );


getMagnification

public double getMagnification()
return the magnification factor to use for exporting or printing.


getOrientation

public int getOrientation()

getJustification

public int getJustification()

setFilename

public void setFilename(java.lang.String filename)
set and show the filename selected by the user


getExtension

public java.lang.String getExtension()
get filename extensions corresponding to current export language selection.


updateOutFilenameExtension

public void updateOutFilenameExtension()
update the current filename's extension based on the currently selected export language, e.g. update "foo.gl" to "foo.ppm" if PPM is selected. Note: This method assumes that filename is non-null.


updateCommandLine

public void updateCommandLine()

getFigFilename

public java.lang.String getFigFilename()

getOutFilename

public java.lang.String getOutFilename()

updateOutFilenameFromFigFilename

public void updateOutFilenameFromFigFilename()
this method should be called whenever a new FIG file is loaded into the editor, to guarantee that the output filename is changed to match the new input file. It should not be called for the same file, in order not to overwrite any name changes by the user (via the browse button and file dialog).


getFig2devPath

public java.lang.String getFig2devPath()

getFig2devMagnification

public java.lang.String getFig2devMagnification()

getRoundedValue

public java.lang.String getRoundedValue(double d)

getFig2devPSOrientation

public java.lang.String getFig2devPSOrientation()

setFig2devPSOrientation

public void setFig2devPSOrientation(boolean portrait)

getFig2devPSCentered

public java.lang.String getFig2devPSCentered()

setFig2devPSCentered

public void setFig2devPSCentered(boolean centered)

getFig2devPSOffset

public java.lang.String getFig2devPSOffset()

fitToLandscapeA4

public void fitToLandscapeA4()
set the magnification factor to fit all objects into a page of format A4, landscape orientation. Show the corresponding magnification factor and size in the exportOptionsDialog. Note: This method re-calculates the bounding box of all Fig objects via updateFigObjectsBoundingBox() before doing the fitting.


updateFigObjectsBoundingBox

public void updateFigObjectsBoundingBox()
(re-) calculate the bounding box of all FIG objects on objectCanvas


doExportNow

public void doExportNow()
this method just calls Runtime.exec() with the current value of the 'command line'. The motivation for this is to allow the user to edit the command line as desired.


doExportPS

public void doExportPS()

doExportEPS

public void doExportEPS()

requestAntiAliasing

public void requestAntiAliasing(boolean b)

checkRequestAntiAliasing

public void checkRequestAntiAliasing(java.awt.Graphics g)

doExportNativeGIF

public void doExportNativeGIF()

doExportNativePNG

public void doExportNativePNG()

doExportNativePPM

public void doExportNativePPM()

doExportEPIC

public void doExportEPIC()

doExportEEPIC

public void doExportEEPIC()

doExportPrintPS

public void doExportPrintPS()

doAutoSave

public void doAutoSave()

doAutoSaveDummy

public void doAutoSaveDummy()

printSubprocessOutput

public void printSubprocessOutput(java.lang.Process PR)
                           throws java.io.IOException
Throws:
java.io.IOException

doBrowseFilename

public void doBrowseFilename()

msg

public void msg(java.lang.String s)

dbg

public void dbg(java.lang.String s)

main

public static void main(java.lang.String[] argv)
selftest for debugging