Package adams.gui.workspace
Class AbstractWorkspaceManagerPanel<T extends AbstractWorkspacePanel>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.workspace.AbstractWorkspaceManagerPanel<T>
-
- Type Parameters:
T
- the type of workspace panel to handle
- All Implemented Interfaces:
CleanUpHandler
,AbstractNamedHistoryPanel.HistoryEntrySelectionListener
,ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
AbstractSerializableWorkspaceManagerPanel
,MultiExperimenter
,RemoteControlCenterManagerPanel
public abstract class AbstractWorkspaceManagerPanel<T extends AbstractWorkspacePanel> extends BasePanel implements CleanUpHandler, AbstractNamedHistoryPanel.HistoryEntrySelectionListener
Ancestor for workspace managers.- 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 BaseFlatButton
m_ButtonAdd
the button for adding a panel.protected BaseFlatButton
m_ButtonRemove
the button for removing a panel.protected AbstractWorkspaceListPanel<T>
m_History
the history panel.protected BasePanel
m_PanelButtons
the panel for the buttons.protected BasePanel
m_PanelHistory
the history panel.protected BasePanel
m_PanelWorkspace
the actual panel for displaying the other panels.protected BaseSplitPane
m_SplitPane
the split pane for the components.-
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 AbstractWorkspaceManagerPanel()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addPanel(T panel, String name)
Adds the given experimenter panel.void
cleanUp()
Cleans up data structures, frees up memory.void
clear()
Removes all panels.int
count()
Returns the number of experimenter panels.protected void
finishInit()
finishes the initialization.T
getCurrentPanel()
Returns the currently selected panel, if any.protected abstract String
getDefaultWorkspaceName()
The default name for a workspace.AbstractWorkspaceListPanel
getEntryPanel()
Returns the panel with the workspace entries.AbstractWorkspaceListPanel<T>
getHistory()
Returns the underlying history panel.T
getPanel(int index)
Returns the panel with at the specified index.T
getPanel(String name)
Returns the panel with the specified name.void
historyEntrySelected(AbstractNamedHistoryPanel.HistoryEntrySelectionEvent e)
Gets called whenever a history entry gets selected.protected void
initGUI()
For initializing the GUI.protected abstract T
newWorkspace(boolean init)
Returns a new workspace instance.protected abstract AbstractWorkspaceListPanel<T>
newWorkspaceList()
Instantiates a new panel for workspaces.boolean
removePanel(int index)
Removes the panel at the specified index.boolean
removePanel(String name)
Removes the panel with the given name.protected void
updateButtons()
Updates the buttons.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, initialize, 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, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, 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_SplitPane
protected BaseSplitPane m_SplitPane
the split pane for the components.
-
m_History
protected AbstractWorkspaceListPanel<T extends AbstractWorkspacePanel> m_History
the history panel.
-
m_PanelWorkspace
protected BasePanel m_PanelWorkspace
the actual panel for displaying the other panels.
-
m_PanelHistory
protected BasePanel m_PanelHistory
the history panel.
-
m_PanelButtons
protected BasePanel m_PanelButtons
the panel for the buttons.
-
m_ButtonAdd
protected BaseFlatButton m_ButtonAdd
the button for adding a panel.
-
m_ButtonRemove
protected BaseFlatButton m_ButtonRemove
the button for removing a panel.
-
-
Method Detail
-
finishInit
protected void finishInit()
finishes the initialization.- Overrides:
finishInit
in classBasePanel
-
getDefaultWorkspaceName
protected abstract String getDefaultWorkspaceName()
The default name for a workspace.- Returns:
- the default
-
newWorkspace
protected abstract T newWorkspace(boolean init)
Returns a new workspace instance.- Parameters:
init
- whether to initialize the workspace- Returns:
- the workspace
-
clear
public void clear()
Removes all panels.
-
count
public int count()
Returns the number of experimenter panels.- Returns:
- the number of panels
-
newWorkspaceList
protected abstract AbstractWorkspaceListPanel<T> newWorkspaceList()
Instantiates a new panel for workspaces.- Returns:
- the list panel
-
getHistory
public AbstractWorkspaceListPanel<T> getHistory()
Returns the underlying history panel.- Returns:
- the panel
-
addPanel
public void addPanel(T panel, String name)
Adds the given experimenter panel.- Parameters:
panel
- the panel to addname
- the name for the panel
-
removePanel
public boolean removePanel(String name)
Removes the panel with the given name.- Parameters:
name
- the name of the panel to remove- Returns:
- true if successfully removed
-
removePanel
public boolean removePanel(int index)
Removes the panel at the specified index.- Parameters:
index
- the index of the panel to remove- Returns:
- true if successfully removed
-
getPanel
public T getPanel(int index)
Returns the panel with at the specified index.- Parameters:
index
- the index of the panel to retrieved- Returns:
- the panel, null if not found
-
getPanel
public T getPanel(String name)
Returns the panel with the specified name.- Parameters:
name
- the name of the panel to retrieve- Returns:
- the panel, null if not found
-
getCurrentPanel
public T getCurrentPanel()
Returns the currently selected panel, if any.- Returns:
- the panel, null if none available
-
getEntryPanel
public AbstractWorkspaceListPanel getEntryPanel()
Returns the panel with the workspace entries.- Returns:
- the panel entries
-
historyEntrySelected
public void historyEntrySelected(AbstractNamedHistoryPanel.HistoryEntrySelectionEvent e)
Gets called whenever a history entry gets selected.- Specified by:
historyEntrySelected
in interfaceAbstractNamedHistoryPanel.HistoryEntrySelectionListener
- Parameters:
e
- the event
-
updateButtons
protected void updateButtons()
Updates the buttons.
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUp
in interfaceCleanUpHandler
-
-