Package uk.ac.starlink.table.gui
Class TableSaveChooser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- uk.ac.starlink.table.gui.TableSaveChooser
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public abstract class TableSaveChooser extends javax.swing.JPanel
Dialog which permits a user to save one or moreStarTable
s in a place and format of choice. It should be able to provide suitable dialogs for all the supported table types; in particular it includes a filestore browser and special JDBC connection dialog.The usual way to use this is to implement
getTables()
to provide the table which will be saved, and then callshowSaveDialog(java.awt.Component)
.- Author:
- Mark Taylor (Starlink)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description TableSaveChooser()
Constructs a saver with a default StarTableOutput and save dialogues.TableSaveChooser(StarTableOutput sto, TableSaveDialog[] saveDialogs)
Constructs a saver with a given StarTableOutput and save dialogues.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description javax.swing.JDialog
createDialog(java.awt.Component parent)
Creates a dialogue which can be used for user interaction.javax.swing.Action
createSaveDialogAction(TableSaveDialog tsd)
Returns an action which will result in the given save dialogue being posted to allow the user to save this chooser's current table.void
done()
Called when the table has been written.static java.lang.String[]
getExtraWriterNames(boolean multi)
Returns a selection of output handler specifications that can be offered to the user alongside the default-configuration ones.javax.swing.JComboBox<java.lang.String>
getFormatSelector()
Returns the selector which chooses table output formats.javax.swing.Action[]
getSaveDialogActions()
Returns actions which correspond to the save dialogues this saver is using.java.lang.String
getSelectedFormat()
Returns the currently selected format string.StarTableOutput
getTableOutput()
Returns the StarTableOutput object which this saver uses to do the actual writing of the StarTables.abstract StarTable[]
getTables()
Obtains the tables to write.static void
main(java.lang.String[] args)
Testing purposes only.static javax.swing.ComboBoxModel<java.lang.String>
makeFormatBoxModel(StarTableOutput sto, boolean multi)
Constructs a ComboBoxModel containing an entry for each of the known output formats.void
setEnabled(boolean isEnabled)
void
setProgressBar(javax.swing.JProgressBar progBar)
Sets the progress bar that will be used by this chooser.void
setSelectedFormat(java.lang.String format)
Sets the currently selected format string.void
setTableOutput(StarTableOutput sto)
Sets the StarTableOutput object which this saver uses to do the actual writing of the StarTables.void
showSaveDialog(java.awt.Component parent)
Pops up a modal dialogue which interacts with the user to save the tables returned bygetTables()
.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
TableSaveChooser
public TableSaveChooser()
Constructs a saver with a default StarTableOutput and save dialogues.
-
TableSaveChooser
public TableSaveChooser(StarTableOutput sto, TableSaveDialog[] saveDialogs)
Constructs a saver with a given StarTableOutput and save dialogues.- Parameters:
sto
- output marshallersaveDialogs
- array of save dialogues to use
-
-
Method Detail
-
setTableOutput
public void setTableOutput(StarTableOutput sto)
Sets the StarTableOutput object which this saver uses to do the actual writing of the StarTables.- Parameters:
sto
- the new StarTableOutput to use
-
getTableOutput
public StarTableOutput getTableOutput()
Returns the StarTableOutput object which this saver uses to do the actual writing of the StarTables.- Returns:
- sto the StarTableOutput object
-
getFormatSelector
public javax.swing.JComboBox<java.lang.String> getFormatSelector()
Returns the selector which chooses table output formats. It may be replaced.- Returns:
- format selector
-
getTables
public abstract StarTable[] getTables()
Obtains the tables to write. This must be implemented by concrete subclasses.- Returns:
- table to write
-
setProgressBar
public void setProgressBar(javax.swing.JProgressBar progBar)
Sets the progress bar that will be used by this chooser. Should be called before the component is displayed to the user.- Parameters:
progBar
- progress bar for displaying save progress
-
getSaveDialogActions
public javax.swing.Action[] getSaveDialogActions()
Returns actions which correspond to the save dialogues this saver is using. Each action is the result of an earlier call tocreateSaveDialogAction(uk.ac.starlink.table.gui.TableSaveDialog)
.- Returns:
- array of actions which will trigger a particular save dialogue
-
done
public void done()
Called when the table has been written.
-
showSaveDialog
public void showSaveDialog(java.awt.Component parent)
Pops up a modal dialogue which interacts with the user to save the tables returned bygetTables()
.- Parameters:
parent
- parent component
-
setEnabled
public void setEnabled(boolean isEnabled)
- Overrides:
setEnabled
in classjavax.swing.JComponent
-
getSelectedFormat
public java.lang.String getSelectedFormat()
Returns the currently selected format string.- Returns:
- format label
-
setSelectedFormat
public void setSelectedFormat(java.lang.String format)
Sets the currently selected format string.- Parameters:
format
- format label
-
createDialog
public javax.swing.JDialog createDialog(java.awt.Component parent)
Creates a dialogue which can be used for user interaction.- Parameters:
parent
- parent component
-
createSaveDialogAction
public final javax.swing.Action createSaveDialogAction(TableSaveDialog tsd)
Returns an action which will result in the given save dialogue being posted to allow the user to save this chooser's current table. This method is invoked in the constructor, hence is declared final.- Parameters:
tsd
- save dialogue- Returns:
- action to post
tsd
-
makeFormatBoxModel
public static javax.swing.ComboBoxModel<java.lang.String> makeFormatBoxModel(StarTableOutput sto, boolean multi)
Constructs a ComboBoxModel containing an entry for each of the known output formats.- Parameters:
sto
- output marshallermulti
- true if multiple tables might be used, false if only a single table will be written- Returns:
- format combo box model
-
getExtraWriterNames
public static java.lang.String[] getExtraWriterNames(boolean multi)
Returns a selection of output handler specifications that can be offered to the user alongside the default-configuration ones.- Parameters:
multi
- true if multiple tables might be used, false if only a single table will be written- Returns:
- example/useful writer specifications including config options
-
main
public static void main(java.lang.String[] args)
Testing purposes only.
-
-