# Class LoadWindow

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
uk.ac.starlink.topcat.AuxWindow
uk.ac.starlink.topcat.LoadWindow

All Implemented Interfaces:
  `ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants`

public class LoadWindow extends AuxWindow
Window which displays the main gui from which to load tables into the application. It contains toolbar buttons etc for different individual load dialogues.

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class JFrame

`JFrame.AccessibleJFrame`

### Nested classes/interfaces inherited from class Frame

`Frame.AccessibleAWTFrame`

### Nested classes/interfaces inherited from class Window

`Window.AccessibleAWTWindow, Window.Type`

### Nested classes/interfaces inherited from class Container

`Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

Fields
Modifier and Type
Field
Description
`final String[]`
`DIALOG_CLASSES`
Class names for the TableLoadDialogs known by default.
`static final String`
`LOAD_DIALOGS_PROPERTY`
Name of the system property which can be used to specify the class names of additional `TableLoadDialog` implementations.

### Fields inherited from class JFrame

`accessibleContext, rootPane, rootPaneCheckingEnabled`

### Fields inherited from class 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 Component

`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

### Fields inherited from interface WindowConstants

`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

## Constructor Summary

Constructors
Constructor
Description
`LoadWindow(Component parent, uk.ac.starlink.table.StarTableFactory tfact)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addWorker(uk.ac.starlink.table.gui.TableLoadWorker worker, Icon icon)`
Adds a thread which is loading a table to the display in this window.
`void`
`conditionallyClose()`
Indicates that an activity has finished which might cause this window to close.
`Action`
`getDialogAction(Class<? extends uk.ac.starlink.table.gui.TableLoadDialog> tldClazz)`
Returns the action associated with a TableLoadDialog of a given class, if one is currently in use by this window.
`uk.ac.starlink.table.gui.TableLoadDialog`
`getKnownDialog(Class<? extends uk.ac.starlink.table.gui.TableLoadDialog> clazz)`
Returns a TableLoadDialog in the list known by this window which has a given class.
`uk.ac.starlink.table.gui.TableLoadDialog[]`
`getKnownDialogs()`
Returns list of dialogues known by this window.
`boolean`
`isShowing(uk.ac.starlink.table.gui.TableLoadDialog tld)`
Indicates whether a given load dialogue controlled by this window is currently visible.
`void`
`removeWorker(uk.ac.starlink.table.gui.TableLoadWorker worker)`
Removes a load worker thread which was previously added to the display in this window.

### Methods inherited from class AuxWindow

`addHelp, beep, confirm, createImportTableAction, createSaveTableAction, getBodyPanel, getControlPanel, getHelpMenu, getIconImage, getMainArea, getSponsorLogos, getToolBar, getWindowMenu, makeTitledBorder, makeVisible, placeProgressBar, positionAfter, recursiveSetEnabled, setBusy, setCloseIsExit, setMainHeading, setVisible`

### Methods inherited from class JFrame

`addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

### Methods inherited from class Frame

`addNotify, getCursorType, getExtendedState, getFrames, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

### Methods inherited from class Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront`

### Methods inherited from class 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, transferFocusDownCycle, validate, validateTree`

### Methods inherited from class 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface MenuContainer

`getFont, postEvent`

## Field Details

### LOAD_DIALOGS_PROPERTY

public static final String LOAD_DIALOGS_PROPERTY
Name of the system property which can be used to specify the class names of additional `TableLoadDialog` implementations. Each must have a no-arg constructor. Multiple classnames should be separated by colons.

See Also:
  - Constant Field Values

### DIALOG_CLASSES

public final String[] DIALOG_CLASSES
Class names for the TableLoadDialogs known by default.

## Constructor Details

### LoadWindow

public LoadWindow(Component parent, uk.ac.starlink.table.StarTableFactory tfact)
Constructor.

Parameters:
  `parent` - parent component
  `tfact` - table factory

## Method Details

### getKnownDialogs

public uk.ac.starlink.table.gui.TableLoadDialog[] getKnownDialogs()
Returns list of dialogues known by this window.

Returns:
  dialogue list

### getKnownDialog

public uk.ac.starlink.table.gui.TableLoadDialog getKnownDialog(Class<? extends uk.ac.starlink.table.gui.TableLoadDialog> clazz)
Returns a TableLoadDialog in the list known by this window which has a given class.

Parameters:
  `clazz` - class, some subclass of TableLoadDialog
Returns:
  existing dialog instance of clazz, or null

### getDialogAction

public Action getDialogAction(Class<? extends uk.ac.starlink.table.gui.TableLoadDialog> tldClazz)
Returns the action associated with a TableLoadDialog of a given class, if one is currently in use by this window.

Parameters:
  `tldClazz` - class, some subclass of TableLoadDialog
Returns:
  action which invokes an instance of tldClazz, if one is in use

### isShowing

public boolean isShowing(uk.ac.starlink.table.gui.TableLoadDialog tld)
Indicates whether a given load dialogue controlled by this window is currently visible.

Parameters:
  `tld` - dialogue
Returns:
  true iff a window containing tld's query component is currently showing

### addWorker

public void addWorker(uk.ac.starlink.table.gui.TableLoadWorker worker, Icon icon)
Adds a thread which is loading a table to the display in this window.

Parameters:
  `worker` - loading thread
  `icon` - optional icon indicatig table source

### removeWorker

public void removeWorker(uk.ac.starlink.table.gui.TableLoadWorker worker)
Removes a load worker thread which was previously added to the display in this window.

Parameters:
  `worker` - loading thread

### conditionallyClose

public void conditionallyClose()
Indicates that an activity has finished which might cause this window to close. This may or may not cause the window to close, depending on its internal state.