Package uk.ac.starlink.topcat.plot2
Class StackPlotWindow<P,A>
- 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.plot2.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.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
-
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
-
-
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 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, setVisible
-
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
-
-
-
-
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 nameparent
- parent componentplotType
- defines basic plot type characteristicsplotTypeGui
- defines graphical user interface specifics for plot typetablesModel
- 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 classjava.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
-
-