Class SyntheticColumnQueryWindow

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

public abstract 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:
  • Method Details

    • getColumnName

      public String getColumnName()
      Returns the string that the user has entered in the Name field.
      Returns:
      name
    • setColumnName

      public void setColumnName(String name)
      Sets the contents of the name field.
      Parameters:
      name - new contents of the name field
    • getUnit

      public String getUnit()
      Returns the string that the user has entered in the Units field.
      Returns:
      units
    • setUnit

      public void setUnit(String units)
      Sets the value entered into the units field.
      Parameters:
      units - unit string
    • getDescription

      public String getDescription()
      Returns the string that the user has entered in the Description field.
      Returns:
      description
    • setDescription

      public void setDescription(String desc)
      Sets the value entered into the description field.
      Parameters:
      desc - description string
    • getExpression

      public String getExpression()
      Returns the string that the user has entered in the Expression field.
      Returns:
      expression
    • setExpression

      public void setExpression(String expr)
      Sets the contents of the expression field.
      Parameters:
      expr - new contents of the expression field
    • getUCD

      public String getUCD()
      Returns the string that the user has chosen for the UCD field.
      Returns:
      UCD identifier
    • setUCD

      public void setUCD(String ucd)
      Sets the string in the UCD selector.
      Parameters:
      ucd - UCD string
    • setExpressionType

      public void setExpressionType(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 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
    • newColumnDialog

      public static SyntheticColumnQueryWindow newColumnDialog(TopcatModel tcModel, int insertIndex, Component parent)
      Constructs a query window which on completion will add a new column.
      Parameters:
      tcModel - model containing the table data
      insertIndex - the default position for the new column
      parent - the parent window for this dialogue (used for window positioning)
      Returns:
      a window ready for user interaction
    • editColumnDialog

      public static SyntheticColumnQueryWindow editColumnDialog(TopcatModel tcModel, int icol, Component parent, Consumer<Boolean> onChange)
      Constructs a query window which will edit an existing column in the model.
      Parameters:
      tcModel - topcat model
      icol - model index of column to edit
      parent - parent window, used for positioning
      onChange - callback to be run on the EDT; the boolean parameter will be true only if the expression defining a (synthetic) column has changed
      Returns:
      window ready for user interaction
    • replaceColumnDialog

      public static SyntheticColumnQueryWindow replaceColumnDialog(TopcatModel tcModel, uk.ac.starlink.table.gui.StarTableColumn baseCol, 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