Package adams.gui.core
Class BufferHistoryPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.AbstractNamedHistoryPanel<StringBuilder>
-
- adams.gui.core.BufferHistoryPanel
-
- All Implemented Interfaces:
AbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class BufferHistoryPanel extends AbstractNamedHistoryPanel<StringBuilder> implements AbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
A history panel that keeps track of named StringBuilder objects, e.g., containing experiments results.- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BufferHistoryPanel.BufferFrame
A specialized frame class for displaying a StringBuilder in a BaseTextArea.-
Nested classes/interfaces inherited from class adams.gui.core.AbstractNamedHistoryPanel
AbstractNamedHistoryPanel.AbstractHistoryEntryFrame<T>, AbstractNamedHistoryPanel.FrameDisplaySupporter<T>, AbstractNamedHistoryPanel.HistoryEntrySelectionEvent, AbstractNamedHistoryPanel.HistoryEntrySelectionListener, AbstractNamedHistoryPanel.HistoryEntryToolTipProvider<T>, AbstractNamedHistoryPanel.PopupCustomizer
-
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 boolean
m_CaretAtStart
whether to position the caret at beginning instead of end.protected TextFileChooser
m_FileChooser
the file chooser for saving buffers.protected Hashtable<String,BufferHistoryPanel.BufferFrame>
m_Frames
the frames that are being displayed.protected boolean
m_LineWrap
use line wrap.protected BaseTextArea
m_TextArea
the text area to display the result in.protected boolean
m_WrapStyleWord
use word wrap style.-
Fields inherited from class adams.gui.core.AbstractNamedHistoryPanel
m_AllowRemove, m_AllowRename, m_ButtonDown, m_ButtonRemove, m_ButtonRemoveAll, m_ButtonUp, m_Entries, m_HistoryEntrySelectionListeners, m_HistoryEntryToolTipProvider, m_List, m_ListModel, m_ListModelFiltered, m_PanelList, m_PanelListButtons, m_PanelSearch, m_Payloads, m_PopupCustomizer, m_SearchRegexp, m_SearchString
-
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 BufferHistoryPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BasePopupMenu
createPopup(MouseEvent e)
Generates the right-click menu for the JList.protected TextFileChooser
getFileChooser()
Returns the file chooser and creates it if necessary.BufferHistoryPanel.BufferFrame
getFrame(String name)
Returns the frame associated with the entry.boolean
getLineWrap()
Returns whether line wrap is enabled.boolean
getWrapStyleWord()
Gets the style of wrapping used if the text area is wrapping lines.boolean
hasFrame(String name)
Checks whether a frame is available fro this entry.protected void
initialize()
Initializes the members.boolean
isCaretAtStart()
Returns whether the caret is positioned at the start instead of the end.BufferHistoryPanel.BufferFrame
newFrame(String name)
Creates a new frame for the entry.StringBuilder
removeEntry(String name)
Removes the specified entry.void
removeFrame(String name)
Removes the frame from the list.protected void
saveEntry(String name)
Saves the entry to a file.void
setCaretAtStart(boolean value)
Sets whether to position the caret at the start or at the end (default).void
setLineWrap(boolean value)
Enables/disables line wrap.void
setTextArea(BaseTextArea value)
Sets the text area to display the results in.void
setWrapStyleWord(boolean value)
Sets the style of wrapping used if the text area is wrapping lines.void
showFrame(String name)
Displays the buffer in a separate frame.protected void
updateEntry(String name)
Displays the specified entry.-
Methods inherited from class adams.gui.core.AbstractNamedHistoryPanel
addEntry, addEntry, addHistoryEntrySelectionListener, canMoveDown, canMoveUp, checkedRemoveAllEntries, clear, clear, copyEntryNames, count, deserialize, entries, finishInit, getAllowRemove, getAllowRename, getAllowSearch, getEntry, getEntry, getEntryName, getHistoryEntryToolTipProvider, getListModel, getPayload, getPayload, getPopupCustomizer, getPreferredSize, getSelectedEntries, getSelectedEntry, getSelectedIndex, getSelectedIndices, hasEntry, hasPayload, hasSearch, indexOfEntry, initGUI, insertEntryAt, insertEntryAt, isButtonPanelVisible, moveBottom, moveDown, moveTop, moveUp, newEntryName, notifyHistoryEntrySelectionListeners, removeEntries, removeHistoryEntrySelectionListener, removePayload, renameEntry, renameEntry, serialize, setAllowRemove, setAllowRename, setAllowSearch, setButtonPanelVisible, setHistoryEntryToolTipProvider, setPayload, setPopupCustomizer, setSelectedEntries, setSelectedEntry, setSelectedIndex, setSelectedIndices, showPopup, updateButtons, updateSearch
-
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, 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_Frames
protected Hashtable<String,BufferHistoryPanel.BufferFrame> m_Frames
the frames that are being displayed.
-
m_TextArea
protected BaseTextArea m_TextArea
the text area to display the result in.
-
m_FileChooser
protected transient TextFileChooser m_FileChooser
the file chooser for saving buffers.
-
m_CaretAtStart
protected boolean m_CaretAtStart
whether to position the caret at beginning instead of end.
-
m_LineWrap
protected boolean m_LineWrap
use line wrap.
-
m_WrapStyleWord
protected boolean m_WrapStyleWord
use word wrap style.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractNamedHistoryPanel<StringBuilder>
-
getFileChooser
protected TextFileChooser getFileChooser()
Returns the file chooser and creates it if necessary.
-
setTextArea
public void setTextArea(BaseTextArea value)
Sets the text area to display the results in.- Parameters:
value
- the text area to use
-
updateEntry
protected void updateEntry(String name)
Displays the specified entry.- Specified by:
updateEntry
in classAbstractNamedHistoryPanel<StringBuilder>
- Parameters:
name
- the name of the entry, can be null to clear display
-
hasFrame
public boolean hasFrame(String name)
Checks whether a frame is available fro this entry.- Specified by:
hasFrame
in interfaceAbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
- Parameters:
name
- the name of the entry to check- Returns:
- true if a frame is already available
-
newFrame
public BufferHistoryPanel.BufferFrame newFrame(String name)
Creates a new frame for the entry.- Specified by:
newFrame
in interfaceAbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
- Parameters:
name
- the name of the entry to create a frame for- Returns:
- the frame
-
getFrame
public BufferHistoryPanel.BufferFrame getFrame(String name)
Returns the frame associated with the entry.- Specified by:
getFrame
in interfaceAbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
- Parameters:
name
- the name of the entry to retrieve- Returns:
- the frame or null if not found
-
showFrame
public void showFrame(String name)
Displays the buffer in a separate frame. If a frame already exists for this entry, then it will be displayed- Specified by:
showFrame
in interfaceAbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
- Parameters:
name
- the name of the entry to display
-
removeFrame
public void removeFrame(String name)
Removes the frame from the list. This method should be called when the frame gets closed.- Specified by:
removeFrame
in interfaceAbstractNamedHistoryPanel.FrameDisplaySupporter<StringBuilder>
- Parameters:
name
- the name of the entry this frame is associated with
-
removeEntry
public StringBuilder removeEntry(String name)
Removes the specified entry.- Overrides:
removeEntry
in classAbstractNamedHistoryPanel<StringBuilder>
- Parameters:
name
- the name of the entry- Returns:
- the entry that was stored under this name or null if no entry was stored with this name
-
createPopup
protected BasePopupMenu createPopup(MouseEvent e)
Generates the right-click menu for the JList.- Overrides:
createPopup
in classAbstractNamedHistoryPanel<StringBuilder>
- Parameters:
e
- the event that triggered the popup- Returns:
- the generated menu
- See Also:
AbstractNamedHistoryPanel.showPopup(MouseEvent)
-
saveEntry
protected void saveEntry(String name)
Saves the entry to a file.- Parameters:
name
- the entry to save
-
setCaretAtStart
public void setCaretAtStart(boolean value)
Sets whether to position the caret at the start or at the end (default).- Parameters:
value
- if true then the caret will be positioned at start
-
isCaretAtStart
public boolean isCaretAtStart()
Returns whether the caret is positioned at the start instead of the end.- Returns:
- true if caret positioned at start
-
setLineWrap
public void setLineWrap(boolean value)
Enables/disables line wrap.- Parameters:
value
- if true line wrap gets enabled
-
getLineWrap
public boolean getLineWrap()
Returns whether line wrap is enabled.- Returns:
- true if line wrap enabled
-
setWrapStyleWord
public void setWrapStyleWord(boolean value)
Sets the style of wrapping used if the text area is wrapping lines. If set to true the lines will be wrapped at word boundaries (whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries. By default this property is false.- Parameters:
value
- indicates if word boundaries should be used for line wrapping
-
getWrapStyleWord
public boolean getWrapStyleWord()
Gets the style of wrapping used if the text area is wrapping lines. If set to true the lines will be wrapped at word boundaries (ie whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries.- Returns:
- if the wrap style should be word boundaries instead of character boundaries
-
-