jfig.gui
Class ExportOptionsDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjfig.gui.ExportOptionsDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ExportOptionsDialog
extends java.awt.Frame

dialog window to specify fig2dev export options and handle export.

See Also:
Serialized Form

Nested Class Summary
(package private)  class ExportOptionsDialog.OptionChangeHandler
          inner class to react to item state changes: we just update the filename extension and command line
(package private)  class ExportOptionsDialog.TextFieldMultiplexer
          inner class to propagate TextField inputs to the commandline TextField
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
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)  java.awt.Checkbox autosaveCB
           
(package private)  FigBbox bbox
           
 int BLACK_WHITE
           
 java.lang.String BLACK_WHITE_STRING
           
(package private)  java.awt.Button cancelButton
           
(package private)  java.awt.Choice centerChoice
           
(package private)  java.awt.Choice colorChoice
           
(package private)  java.awt.TextField commandLineTF
           
(package private)  java.lang.String[][] data
           
(package private)  boolean debug
           
(package private)  java.awt.TextField directoryTF
           
(package private)  FigBasicEditor editor
           
(package private)  java.awt.Button 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)  java.awt.TextField 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)  java.awt.FileDialog fileDialog
           
(package private)  java.awt.Button filenameButton
           
(package private)  java.awt.TextField filenameTF
           
(package private)  java.awt.Button fitToPageButton
           
 int FULL_COLORS
           
 java.lang.String FULL_COLORS_STRING
           
 int IO_COLORS
           
 java.lang.String IO_COLORS_STRING
           
(package private)  java.awt.Choice languageChoice
           
(package private)  java.awt.TextField magnificationTF
           
(package private)  java.awt.Choice orientationChoice
           
(package private)  java.lang.String printCommand
           
(package private)  java.awt.Label sizeLabel
           
(package private)  boolean waitExec
           
(package private)  java.awt.TextField xoffsetTF
           
(package private)  java.awt.TextField yoffsetTF
           
 
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.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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ExportOptionsDialog()
          construct a new ExportOptionsDialog, ask SetupManager for the fig2dev parameters
 
Method Summary
 void buildCallbacks()
           
 void buildGUI()
           
 void dbg(java.lang.String s)
           
 void doAutoSave()
           
 void doAutoSaveDummy()
           
 void doBrowseFilename()
           
 void doExportEEPIC()
           
 void doExportEPIC()
           
 void doExportEPS()
           
 void doExportNativeGIF()
           
 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 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 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 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 setModularEditor(FigBasicEditor editor)
           
 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 java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, 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
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

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

magnificationTF

java.awt.TextField magnificationTF

xoffsetTF

java.awt.TextField xoffsetTF

yoffsetTF

java.awt.TextField yoffsetTF

languageChoice

java.awt.Choice languageChoice

orientationChoice

java.awt.Choice orientationChoice

centerChoice

java.awt.Choice centerChoice

colorChoice

java.awt.Choice colorChoice

autosaveCB

java.awt.Checkbox autosaveCB

exportNowButton

java.awt.Button exportNowButton

cancelButton

java.awt.Button cancelButton

filenameButton

java.awt.Button filenameButton

fitToPageButton

java.awt.Button fitToPageButton

filenameTF

java.awt.TextField filenameTF

directoryTF

java.awt.TextField directoryTF

fig2devPathTF

java.awt.TextField fig2devPathTF

commandLineTF

java.awt.TextField commandLineTF

sizeLabel

java.awt.Label sizeLabel

fileDialog

java.awt.FileDialog fileDialog

debug

boolean debug

autosave

boolean autosave

waitExec

boolean waitExec

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

ExportOptionsDialog

public ExportOptionsDialog()
construct a new ExportOptionsDialog, ask SetupManager for the fig2dev parameters

Method Detail

setModularEditor

public void setModularEditor(FigBasicEditor editor)

buildGUI

public void buildGUI()

buildCallbacks

public void buildCallbacks()

loadExportSetup

public void loadExportSetup()
load the following export and fig2dev related setup parameters:
       jfig.gui.ExportOptionsDialog.Debug
       jfig.gui.ExportOptionsDialog.Autosave
       jfig.gui.ExportOptionsDialog.Print
       jfig.gui.ExportOptionsDialog.fig2devPath
       jfig.gui.ExportOptionsDialog.fig2devPS
       jfig.gui.ExportOptionsDialog.fig2devEPS
       jfig.gui.ExportOptionsDialog.fig2devIBMGL
       jfig.gui.ExportOptionsDialog.fig2devLATEX
       jfig.gui.ExportOptionsDialog.fig2devPSTEX
       jfig.gui.ExportOptionsDialog.fig2devPICTEX
       jfig.gui.ExportOptionsDialog.fig2devPPM
       jfig.gui.ExportOptionsDialog.fig2devJPG
       jfig.gui.ExportOptionsDialog.fig2devGIF
       jfig.gui.ExportOptionsDialog.fig2devPNG
       jfig.gui.ExportOptionsDialog.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).


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 assumes that the bounding box of all Fig objects has already been calculated via updateFigObjectsBoundingBox().


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()

doExportNativeGIF

public void doExportNativeGIF()

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