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.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBufferHistoryPanel.BufferFrameA 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 booleanm_CaretAtStartwhether to position the caret at beginning instead of end.protected TextFileChooserm_FileChooserthe file chooser for saving buffers.protected Hashtable<String,BufferHistoryPanel.BufferFrame>m_Framesthe frames that are being displayed.protected booleanm_LineWrapuse line wrap.protected JTextAream_TextAreathe text area to display the result in.protected booleanm_WrapStyleWorduse 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 BasePopupMenucreatePopup(MouseEvent e)Generates the right-click menu for the JList.protected TextFileChoosergetFileChooser()Returns the file chooser and creates it if necessary.BufferHistoryPanel.BufferFramegetFrame(String name)Returns the frame associated with the entry.booleangetLineWrap()Returns whether line wrap is enabled.booleangetWrapStyleWord()Gets the style of wrapping used if the text area is wrapping lines.booleanhasFrame(String name)Checks whether a frame is available fro this entry.protected voidinitialize()Initializes the members.booleanisCaretAtStart()Returns whether the caret is positioned at the start instead of the end.BufferHistoryPanel.BufferFramenewFrame(String name)Creates a new frame for the entry.StringBuilderremoveEntry(String name)Removes the specified entry.voidremoveFrame(String name)Removes the frame from the list.protected voidsaveEntry(String name)Saves the entry to a file.voidsetCaretAtStart(boolean value)Sets whether to position the caret at the start or at the end (default).voidsetLineWrap(boolean value)Enables/disables line wrap.voidsetTextArea(JTextArea value)Sets the text area to display the results in.voidsetWrapStyleWord(boolean value)Sets the style of wrapping used if the text area is wrapping lines.voidshowFrame(String name)Displays the buffer in a separate frame.protected voidupdateEntry(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 JTextArea 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:
initializein classAbstractNamedHistoryPanel<StringBuilder>
-
getFileChooser
protected TextFileChooser getFileChooser()
Returns the file chooser and creates it if necessary.
-
setTextArea
public void setTextArea(JTextArea 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:
updateEntryin 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:
hasFramein 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:
newFramein 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:
getFramein 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:
showFramein 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:
removeFramein 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:
removeEntryin 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:
createPopupin 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
-
-