Class DataContainerPanelWithContainerList<T extends DataContainer,M extends AbstractContainerManager,C extends AbstractContainer>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.visualization.core.PaintablePanel
-
- adams.gui.visualization.container.DataContainerPanel<T,M>
-
- adams.gui.visualization.container.DataContainerPanelWithSidePanel<T,M>
-
- adams.gui.visualization.container.DataContainerPanelWithContainerList<T,M,C>
-
- All Implemented Interfaces:
CleanUpHandler
,StatusMessageHandler
,DatabaseConnectionHandler
,DatabaseConnectionProvider
,DatabaseConnectionUser
,DatabaseConnectionChangeListener
,PopupMenuCustomizer<MouseEvent>
,DataChangeListener
,PaintListener
,ScriptingEngineHandler
,SendToActionSupporter
,ContainerListManager<M>
,ContainerListPopupMenuSupplier<M,C>
,PaintletManager
,PopupMenuCustomizer
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
- Direct Known Subclasses:
InstancePanel
,SpreadSheetRowPanel
,TimeseriesPanel
,XYSequencePanel
public abstract class DataContainerPanelWithContainerList<T extends DataContainer,M extends AbstractContainerManager,C extends AbstractContainer> extends DataContainerPanelWithSidePanel<T,M> implements ContainerListPopupMenuSupplier<M,C>, PopupMenuCustomizer
Data container panel with a container list in the side panel.- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected AbstractContainerList<M,C>
m_ContainerList
the container list.protected List<AbstractContainerListPopupCustomizer>
m_ContainerListCustomizers
the customizers for the container list popup menu.protected List<AbstractPlotPopupCustomizer>
m_PlotCustomizers
the customizers for the plot popup menu.-
Fields inherited from class adams.gui.visualization.container.DataContainerPanelWithSidePanel
m_FirstRevalidate, m_SidePanel, m_SplitPane
-
Fields inherited from class adams.gui.visualization.container.DataContainerPanel
m_DatabaseConnection, m_DataChangeListeners, m_Manager, m_PanelProperties, m_PlotPanel, m_PlotWrapperPanel, m_StatusMessageHandler, m_Title
-
Fields inherited from class adams.gui.visualization.core.PaintablePanel
m_Paintlets
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, 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
-
-
Constructor Summary
Constructors Constructor Description DataContainerPanelWithContainerList()
Initializes the panel without title.DataContainerPanelWithContainerList(String title)
Initializes the panel with the given title.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
cleanUp()
Cleans up data structures, frees up memory.protected abstract AbstractContainerList<M,C>
createContainerList()
Returns the container list.void
customizePopupMenu(MouseEvent e, JPopupMenu menu)
Optional customizing of the menu that is about to be popped up.int[]
getActualSelectedContainerIndices(ContainerTable<M,C> table, int row)
Returns the actual indices in the container manager of the selected containers.AbstractContainerList<M,C>
getContainerList()
Returns the panel listing the spectrums.BasePopupMenu
getContainerListPopupMenu(ContainerTable<M,C> table, int row)
Returns a popup menu for the table of the spectrum list.abstract Paintlet
getDataPaintlet()
Returns the paintlet used for painting the data.int[]
getSelectedContainerIndices(ContainerTable<M,C> table, int row)
Returns the actual indices in the container manager of the selected containers.List<C>
getTableModelContainers(boolean visible)
Returns the visible containers from the table model (if container manager supports visibility).int[]
getTableModelIndices(boolean visible)
Returns the indices of the visible/hidden containers from the table model (if container manager supports visibility).protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the widgets.String
processAction(String action)
Hook method for processing the name of the scripting action.abstract void
setDataPaintlet(Paintlet value)
Sets the paintlet to use for painting the data.void
showNotes(List<C> data)
Displays the notes for the given chromatograms.abstract void
storeColorInReport(int[] indices, String name)
Stores the color of the container in the report of container's data object.abstract void
storeValueInReport(int[] indices, AbstractField field, Object value)
Stores the value in the report of container's data object.abstract boolean
supportsStoreColorInReport()
Returns true if storing the color in the report of container's data object is supported.abstract boolean
supportsStoreValueInReport()
Returns true if storing a value in the report of container's data object is supported.-
Methods inherited from class adams.gui.visualization.container.DataContainerPanelWithSidePanel
getDividerLocation, getSidePanel, isSidePanelVisible, revalidate, setDividerLocation, setDividerLocation, setSidePanelVisible
-
Methods inherited from class adams.gui.visualization.container.DataContainerPanel
databaseConnectionStateChanged, dataChanged, finishInit, getBackgroundColor, getContainerManager, getContainerPaintlet, getDatabaseConnection, getDefaultDatabaseConnection, getForegroundColor, getPlot, getProperties, getScriptingEngine, getSendToClasses, getSendToItem, getStatusMessageHandler, getTitle, hasSendToItem, newContainerManager, reset, setBackgroundColor, setContainerManager, setDatabaseConnection, setForegroundColor, setStatusMessageHandler, setTitle, showStatus
-
Methods inherited from class adams.gui.visualization.core.PaintablePanel
addPaintlet, canHandleFixedLabels, canPaint, check, paint, painted, paintlets, performUpdate, postUpdate, prepareUpdate, printAll, removePaintlet, update
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
m_ContainerList
protected AbstractContainerList<M extends AbstractContainerManager,C extends AbstractContainer> m_ContainerList
the container list.
-
m_PlotCustomizers
protected List<AbstractPlotPopupCustomizer> m_PlotCustomizers
the customizers for the plot popup menu.
-
m_ContainerListCustomizers
protected List<AbstractContainerListPopupCustomizer> m_ContainerListCustomizers
the customizers for the container list popup menu.
-
-
Constructor Detail
-
DataContainerPanelWithContainerList
public DataContainerPanelWithContainerList()
Initializes the panel without title.
-
DataContainerPanelWithContainerList
public DataContainerPanelWithContainerList(String title)
Initializes the panel with the given title.- Parameters:
title
- the title for the panel
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the widgets.- Overrides:
initialize
in classDataContainerPanelWithSidePanel<T extends DataContainer,M extends AbstractContainerManager>
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classDataContainerPanelWithSidePanel<T extends DataContainer,M extends AbstractContainerManager>
-
createContainerList
protected abstract AbstractContainerList<M,C> createContainerList()
Returns the container list.- Returns:
- the list
-
getContainerList
public AbstractContainerList<M,C> getContainerList()
Returns the panel listing the spectrums.- Returns:
- the panel
-
getTableModelIndices
public int[] getTableModelIndices(boolean visible)
Returns the indices of the visible/hidden containers from the table model (if container manager supports visibility).- Parameters:
visible
- whether to return the visible or hidden ones- Returns:
- the indices
-
getTableModelContainers
public List<C> getTableModelContainers(boolean visible)
Returns the visible containers from the table model (if container manager supports visibility).- Parameters:
visible
- whether to return the visible or hidden ones- Returns:
- the containers
-
getSelectedContainerIndices
public int[] getSelectedContainerIndices(ContainerTable<M,C> table, int row)
Returns the actual indices in the container manager of the selected containers.- Parameters:
row
- the current row (used if no rows selected in table)- Returns:
- the actual indices as used by the container manager
-
getActualSelectedContainerIndices
public int[] getActualSelectedContainerIndices(ContainerTable<M,C> table, int row)
Returns the actual indices in the container manager of the selected containers.- Parameters:
row
- the current row (used if no rows selected in table)- Returns:
- the actual indices as used by the container manager
-
getContainerListPopupMenu
public BasePopupMenu getContainerListPopupMenu(ContainerTable<M,C> table, int row)
Returns a popup menu for the table of the spectrum list.- Specified by:
getContainerListPopupMenu
in interfaceContainerListPopupMenuSupplier<T extends DataContainer,M extends AbstractContainerManager>
- Parameters:
table
- the affected tablerow
- the row the mouse is currently over- Returns:
- the popup menu
-
customizePopupMenu
public void customizePopupMenu(MouseEvent e, JPopupMenu menu)
Optional customizing of the menu that is about to be popped up.- Specified by:
customizePopupMenu
in interfacePopupMenuCustomizer<T extends DataContainer>
- Specified by:
customizePopupMenu
in interfacePopupMenuCustomizer
- Parameters:
e
- the mous eventmenu
- the menu to customize
-
getDataPaintlet
public abstract Paintlet getDataPaintlet()
Returns the paintlet used for painting the data.- Returns:
- the paintlet
-
setDataPaintlet
public abstract void setDataPaintlet(Paintlet value)
Sets the paintlet to use for painting the data.- Parameters:
value
- the paintlet
-
processAction
public String processAction(String action)
Hook method for processing the name of the scripting action.- Parameters:
action
- the action to process- Returns:
- the (potentially) updated name
-
showNotes
public void showNotes(List<C> data)
Displays the notes for the given chromatograms.- Parameters:
data
- the chromatograms to display
-
supportsStoreColorInReport
public abstract boolean supportsStoreColorInReport()
Returns true if storing the color in the report of container's data object is supported.- Returns:
- true if supported
-
storeColorInReport
public abstract void storeColorInReport(int[] indices, String name)
Stores the color of the container in the report of container's data object.- Parameters:
indices
- the indices of the containers of the container managername
- the field name to use
-
supportsStoreValueInReport
public abstract boolean supportsStoreValueInReport()
Returns true if storing a value in the report of container's data object is supported.- Returns:
- true if supported
-
storeValueInReport
public abstract void storeValueInReport(int[] indices, AbstractField field, Object value)
Stores the value in the report of container's data object.- Parameters:
indices
- the indices of the containers of the container managerfield
- the field to usevalue
- the value to store
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUp
in interfaceCleanUpHandler
- Overrides:
cleanUp
in classDataContainerPanel<T extends DataContainer,M extends AbstractContainerManager>
-
-