Package uk.ac.starlink.topcat

## Class SyntheticColumnQueryWindow

- 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.QueryWindow
              - - uk.ac.starlink.topcat.SyntheticColumnQueryWindow

- All Implemented Interfaces:
    `java.awt.image.ImageObserver`, `java.awt.MenuContainer`, `java.io.Serializable`, `javax.accessibility.Accessible`, `javax.swing.RootPaneContainer`, `javax.swing.WindowConstants`

      public class SyntheticColumnQueryWindow
      extends QueryWindow

  A dialogue window which queries the user for the characteristics of a new column and then appends it to the table.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### 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`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Frame

      `java.awt.Frame.AccessibleAWTFrame`

    - ### Nested classes/interfaces inherited from class javax.swing.JFrame

      `javax.swing.JFrame.AccessibleJFrame`

    - ### Nested classes/interfaces inherited from class java.awt.Window

      `java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type`

  - ### Field Summary

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### 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 interface java.awt.image.ImageObserver

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

    - ### Fields inherited from class javax.swing.JFrame

      `accessibleContext, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class uk.ac.starlink.topcat.QueryWindow

      `blankBorder`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SyntheticColumnQueryWindow​(TopcatModel tcModel, int insertIndex, java.awt.Component parent)` | Constructs a new query window, which on user completion will append a new column to the viewer `tableviewer` at the column index `insertIndex`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getColumnName()` | Returns the string that the user has entered in the Name field.
    `java.lang.String` | `getDescription()` | Returns the string that the user has entered in the Description field.
    `java.lang.String` | `getExpression()` | Returns the string that the user has entered in the Expression field.
    `java.lang.Class` | `getExpressionType()` | Returns the class that the user has selected for the expression.
    `int` | `getIndex()` | Sets the index at which the new column should be inserted.
    `java.lang.String` | `getUCD()` | Returns the string that the user has chosen for the UCD field.
    `java.lang.String` | `getUnit()` | Returns the string that the user has entered in the Units field.
    `protected SyntheticColumn` | `makeColumn()` | Constructs and returns the new synthetic column specified by the state of this window.
    `protected boolean` | `perform()` | Invokes `makeColumn()` and adds the resulting column to the topcatModel.
    `static SyntheticColumnQueryWindow` | `replaceColumnDialog​(TopcatModel tcModel, uk.ac.starlink.table.gui.StarTableColumn baseCol, java.awt.Component parent)` | Constructs a query window which on completion will replace an existing column.
    `void` | `setColumnName​(java.lang.String name)` | Sets the contents of the name field.
    `void` | `setDescription​(java.lang.String desc)` | Sets the value entered into the description field.
    `void` | `setExpression​(java.lang.String expr)` | Sets the contents of the expression field.
    `void` | `setExpressionType​(java.lang.Class clazz)` | Sets the class that the expression result will be converted to.
    `void` | `setUCD​(java.lang.String ucd)` | Sets the string in the UCD selector.
    `void` | `setUnit​(java.lang.String units)` | Sets the value entered into the units field.

    - ### Methods inherited from class uk.ac.starlink.topcat.AuxWindow

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

    - ### 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, 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 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, transferFocusDownCycle, validate, validateTree`

    - ### Methods inherited from class java.awt.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 javax.swing.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 interface java.awt.MenuContainer

      `getFont, postEvent`

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from class uk.ac.starlink.topcat.QueryWindow

      `getAuxControlPanel, getStack, invokeCancel, invokeOK, setVisible`

    - ### Methods inherited from class java.awt.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`

- - ### Constructor Detail

    - #### SyntheticColumnQueryWindow

          public SyntheticColumnQueryWindow​(TopcatModel tcModel,
                                            int insertIndex,
                                            java.awt.Component parent)

      Constructs a new query window, which on user completion will append a new column to the viewer `tableviewer` at the column index `insertIndex`.
      Parameters:
        `tcModel` - model containing the table data
        `insertIndex` - the postion for the new column
        `parent` - the parent window for this dialogue (used for window positioning)

  - ### Method Detail

    - #### getColumnName

          public java.lang.String getColumnName()

      Returns the string that the user has entered in the Name field.
      Returns:
        name

    - #### setColumnName

          public void setColumnName​(java.lang.String name)

      Sets the contents of the name field.
      Parameters:
        `name` - new contents of the name field

    - #### getUnit

          public java.lang.String getUnit()

      Returns the string that the user has entered in the Units field.
      Returns:
        units

    - #### setUnit

          public void setUnit​(java.lang.String units)

      Sets the value entered into the units field.
      Parameters:
        `units` - unit string

    - #### getDescription

          public java.lang.String getDescription()

      Returns the string that the user has entered in the Description field.
      Returns:
        description

    - #### setDescription

          public void setDescription​(java.lang.String desc)

      Sets the value entered into the description field.
      Parameters:
        `desc` - description string

    - #### getExpression

          public java.lang.String getExpression()

      Returns the string that the user has entered in the Expression field.
      Returns:
        expression

    - #### setExpression

          public void setExpression​(java.lang.String expr)

      Sets the contents of the expression field.
      Parameters:
        `expr` - new contents of the expression field

    - #### getUCD

          public java.lang.String getUCD()

      Returns the string that the user has chosen for the UCD field.
      Returns:
        UCD identifier

    - #### setUCD

          public void setUCD​(java.lang.String ucd)

      Sets the string in the UCD selector.
      Parameters:
        `ucd` - UCD string

    - #### setExpressionType

          public void setExpressionType​(java.lang.Class clazz)

      Sets the class that the expression result will be converted to. If null, automatic class resolution should be used.
      Parameters:
        `clazz` - forced expression type, or null

    - #### getExpressionType

          public java.lang.Class getExpressionType()

      Returns the class that the user has selected for the expression. If null, automatic class resolution should be used.
      Returns:
        forced expression type, or null

    - #### getIndex

          public int getIndex()

      Sets the index at which the new column should be inserted.
      Returns:
        index

    - #### makeColumn

          protected SyntheticColumn makeColumn()

      Constructs and returns the new synthetic column specified by the state of this window. If it constitutes an erroneous specification, null is returned (and the user is notified).
      Returns:
        new synthetic column as specified, or `null`

    - #### perform

          protected boolean perform()

      Invokes `makeColumn()` and adds the resulting column to the topcatModel.
      Specified by:
        `perform` in class `QueryWindow`
      Returns:
        whether a column was successfully added

    - #### replaceColumnDialog

          public static SyntheticColumnQueryWindow replaceColumnDialog​(TopcatModel tcModel,
                                                                       uk.ac.starlink.table.gui.StarTableColumn baseCol,
                                                                       java.awt.Component parent)

      Constructs a query window which on completion will replace an existing column. This means that when (if) the user hits OK, the column it's based on will be hidden, and the new one will be added in the same place, with the same name. The old (hidden) one will be given a new 'retirement' name.
      Parameters:
        `tcModel` - topcat model
        `baseCol` - column to be replaced
        `parent` - parent window, used for positioning
      Returns:
        a window ready for user interaction

Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.