Class StackPlotWindow<P,​A>

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    Direct Known Subclasses:
    CubePlotWindow, HistogramPlotWindow, PlanePlotWindow, SkyPlotWindow, SpherePlotWindow, TimePlotWindow

    public class StackPlotWindow<P,​A>
    extends AuxWindow
    Window for all plots. This is generic and currently not expected to have much behaviour implemented by subclasses; plot-type-specific behaviour is defined by supplied PlotType and PlotTypeGui objects. It uses a PlotPanel to do the actual plotting work; this class handles placing the PlotPanel, gathering and supplying user configuration information to it, invoking replots at appropriate times, and managing other user interactions.
    Since:
    12 Mar 2013
    Author:
    Mark Taylor
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • 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
    • Field Summary

      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • 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 class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • 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
      StackPlotWindow​(java.lang.String name, java.awt.Component parent, uk.ac.starlink.ttools.plot2.PlotType<P,​A> plotType, PlotTypeGui<P,​A> plotTypeGui, javax.swing.ListModel<TopcatModel> tablesModel)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()  
      AxisController<P,​A> getAxisController​(int iz)
      Returns the AxisController for a given zone.
      ControlManager getControlManager()
      Returns the manager object that controls this window's stack.
      ControlStack getControlStack()
      Returns the stack containing controls which define what this window is displaying.
      javax.swing.JMenu getExportMenu()
      Returns this window's Export menu.
      PlotPanel<P,​A> getPlotPanel()
      Returns this window's PlotPanel.
      PlotTypeGui<P,​A> getPlotTypeGui()
      Returns the plot type used by this window.
      ToggleButtonModel getSketchModel()
      Returns the button model controlling whether intermediate plots are shown while assembling large/slow plots.
      static boolean hasShadedLayers​(uk.ac.starlink.ttools.plot2.PlotLayer[] layers)
      Indicates whether any of the submitted list of plot layers makes use of a colour scale.
      void insertRescaleAction​(javax.swing.Action act)
      Adds an action that is logically associated with rescaling the plot.
      • 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 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 java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, 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 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.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.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Constructor Detail

      • StackPlotWindow

        public StackPlotWindow​(java.lang.String name,
                               java.awt.Component parent,
                               uk.ac.starlink.ttools.plot2.PlotType<P,​A> plotType,
                               PlotTypeGui<P,​A> plotTypeGui,
                               javax.swing.ListModel<TopcatModel> tablesModel)
        Constructor.
        Parameters:
        name - window name
        parent - parent component
        plotType - defines basic plot type characteristics
        plotTypeGui - defines graphical user interface specifics for plot type
        tablesModel - list of available tables
    • Method Detail

      • getPlotTypeGui

        public PlotTypeGui<P,​A> getPlotTypeGui()
        Returns the plot type used by this window.
        Returns:
        GUI plot type
      • getControlStack

        public ControlStack getControlStack()
        Returns the stack containing controls which define what this window is displaying.
        Returns:
        control stack
      • getControlManager

        public ControlManager getControlManager()
        Returns the manager object that controls this window's stack.
        Returns:
        control manager
      • getPlotPanel

        public PlotPanel<P,​A> getPlotPanel()
        Returns this window's PlotPanel.
        Returns:
        plot panel
      • getAxisController

        public AxisController<P,​A> getAxisController​(int iz)
        Returns the AxisController for a given zone.
        Parameters:
        iz - zone index
        Returns:
        axis controller
      • getExportMenu

        public javax.swing.JMenu getExportMenu()
        Returns this window's Export menu.
        Returns:
        export menu
      • getSketchModel

        public ToggleButtonModel getSketchModel()
        Returns the button model controlling whether intermediate plots are shown while assembling large/slow plots.
        Returns:
        sketch button model
      • insertRescaleAction

        public void insertRescaleAction​(javax.swing.Action act)
        Adds an action that is logically associated with rescaling the plot. This takes the given action and inserts it into the toolbar and menus in appropriate places.
        Parameters:
        act - action to add
      • dispose

        public void dispose()
        Overrides:
        dispose in class java.awt.Window
      • hasShadedLayers

        public static boolean hasShadedLayers​(uk.ac.starlink.ttools.plot2.PlotLayer[] layers)
        Indicates whether any of the submitted list of plot layers makes use of a colour scale.
        Parameters:
        layers - plot layers
        Returns:
        true iff any uses an aux colour shader