Class AuxWindow

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
Direct Known Subclasses:
ActivationWindow, CdsUploadMatchWindow, ClassifyWindow, ColumnInfoWindow, ConcatWindow, ControlWindow, DalMultiWindow, DatalinkWindow, GraphicsWindow, HelpWindow, HtmlWindow, ImageWindow, LoadWindow, MatchWindow, MethodWindow, ParameterWindow, QueryWindow, SampWindow, StackPlotWindow, StatsWindow, SubsetWindow, TableLoadDialogWindow, TableViewerWindow

public class AuxWindow extends JFrame
Provides a common superclass for windows popped up by TOPCAT. This implements some common look and feel elements.

Some window-type utility methods are also provided.

Author:
Mark Taylor (Starlink)
See Also:
  • Constructor Details

    • AuxWindow

      public AuxWindow(String title, Component parent)
      Constructs an AuxWindow.
      Parameters:
      title - the window basic title
      parent - the parent component of the new window - may be used for positioning
    • AuxWindow

      public AuxWindow(TopcatModel tcModel, String viewName, Component parent)
      Constructs an AuxWindow which will watch a given table. Its title is modified as necessary if the table's label changes. This constructor is only suitable if the window is going to watch (be a view of) a single TopcatModel throughout its life.
      Parameters:
      tcModel - the model owned by this window
      viewName - name of the type of view provided by this window
      parent - parent component, may be used for window positioning
  • Method Details

    • addHelp

      protected void addHelp(String helpID)
      Adds standard actions to this window, in the menu and toolbar. This method should generally be called by subclasses after they have added any other menus and toolbar buttons specific to their function, since the standard buttons appear as the last ones.

      An ID can be supplied to indicate the page which should be shown in the help viewer when context-sensitive help is requested. This may be null if no change in the help page should be made (for instance if there is no help specific to this window).

      Parameters:
      helpID - the ID of the help item for this window
    • setBusy

      public void setBusy(boolean busy)
      Makes the window look like it's doing something. This currently modifies the cursor to be busy/normal.
      Parameters:
      busy - whether the window should look busy
    • makeVisible

      public void makeVisible()
      Ensures that this window is posted in a visible fashion.
    • setVisible

      public void setVisible(boolean isVis)
      Overrides:
      setVisible in class Window
    • placeProgressBar

      public JProgressBar placeProgressBar()
      Creates a JProgressBar and places it in the the window. It will replace any other progress bar which has been placed by an earlier call of this method.
      Returns:
      the progress bar which has been placed
    • setCloseIsExit

      public void setCloseIsExit()
      Irrevocably marks this window as one for which the Close action has the same effect as the Exit action. Any Close invocation buttons are replaced with exit ones, duplicates removed, etc. Should be called before any call to addHelp(java.lang.String).
    • getToolBar

      public JToolBar getToolBar()
      Returns this window's toolbar. Any client which adds a group of tools to the toolbar should add a separator after the group.
      Returns:
      the toolbar
    • getWindowMenu

      public JMenu getWindowMenu()
      Returns this window's "Window" menu.
      Returns:
      the window menu
    • getHelpMenu

      public JMenu getHelpMenu()
      Returns this window's "Help" menu.
      Returns:
      the help menu
    • setMainHeading

      public void setMainHeading(String text)
      Sets the in-window text which heads up the main display area.
      Parameters:
      text - heading text
    • getMainArea

      public JPanel getMainArea()
      Returns the container which should be used for the main user component(s) in this window. It will have a BorderLayout.
      Returns:
      main container
    • getControlPanel

      public JPanel getControlPanel()
      Returns the container which should be used for controls and buttons. This will probably be placed below the mainArea.
      Returns:
      control container
    • getBodyPanel

      public JComponent getBodyPanel()
      Returns the panel containing the body of this window. This contains most of the content but not the parts that have to go at the top and bottom like the toolbar and progress bar.
      Returns:
      body panel
    • confirm

      public boolean confirm(Object message, String title)
      Obtains simple confirmation from a user. This is just a convenience method wrapping a JOptionPane invocation.
      Parameters:
      message - confirmation text for user
      title - confirmation window title
      Returns:
      true iff the user provides positive confirmation
    • createSaveTableAction

      public Action createSaveTableAction(String dataType, uk.ac.starlink.table.TableSource tSrc)
      Constructs and returns an action which allows a user to save a supplied table to disk.
      Parameters:
      dataType - short textual description of the table content
      tSrc - table supplier object
    • createImportTableAction

      public Action createImportTableAction(String dataType, uk.ac.starlink.table.TableSource tSrc, String label)
      Constructs and returns an action which allows a user to import a supplied table into TOPCAT as if it had just been loaded.
      Parameters:
      dataType - short textual description of the table content
      tSrc - table supplier object
      label - TocpatModel identifier label
    • getIconImage

      public Image getIconImage()
      Overrides:
      getIconImage in class Frame
    • beep

      public static void beep()
      It beeps.
    • makeTitledBorder

      public static Border makeTitledBorder(String title)
      Returns a new border which features a given title.
      Parameters:
      title - window title
      Returns:
      border
    • positionAfter

      public static void positionAfter(Component first, Window second)
      Locates one window 'after' another one - probably a bit lower and to the right. The second window is repositioned relative to the first one.
      Parameters:
      first - first window, or null
      second - second window
    • recursiveSetEnabled

      public static void recursiveSetEnabled(Component comp, boolean enabled)
      Recursively calls Component.setEnabled(boolean) on a component and (if it is a container) any of the components it contains.
      Parameters:
      comp - top-level component to enable/disable
      enabled - whether to enable or disable it
    • getSponsorLogos

      public static Component getSponsorLogos()
      Returns a component containing logos for the various organisations which have sponsored TOPCAT development.
      Returns:
      logo bar