edu.rice.cs.drjava.ui
Class FindResultsPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.rice.cs.drjava.ui.TabbedPanel
                      extended by edu.rice.cs.drjava.ui.RegionsTreePanel<MovingDocumentRegion>
                          extended by edu.rice.cs.drjava.ui.FindResultsPanel
All Implemented Interfaces:
DropTargetListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class FindResultsPanel
extends RegionsTreePanel<MovingDocumentRegion>

Panel for displaying find results. This class is a swing class which should only be accessed from the event thread.

Version:
$Id$
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.rice.cs.drjava.ui.RegionsTreePanel
RegionsTreePanel.DefaultState, RegionsTreePanel.IChangeState, RegionsTreePanel.RegionMouseAdapter, RegionsTreePanel.RegionTree, RegionsTreePanel.RegionTreeUserObj<R extends OrderedDocumentRegion>
 
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
protected  JButton _bookmarkButton
           
protected  JComboBox _colorBox
           
protected  WeakReference<OpenDefinitionsDocument> _doc
           
protected  JButton _findAgainButton
           
protected  edu.rice.cs.drjava.ui.FindReplacePanel _findReplace
           
protected  JButton _goToButton
           
protected  int _lastIndex
           
protected  boolean _matchCase
           
protected  boolean _noComments
           
protected  boolean _noTestCases
           
protected  JButton _removeButton
           
protected  boolean _searchAll
           
protected  String _searchString
           
protected  boolean _wholeWord
           
 
Fields inherited from class edu.rice.cs.drjava.ui.RegionsTreePanel
_buttonPanel, _changeState, _docToTreeNode, _frame, _leftPane, _model, _regionManager, _regionPopupMenu, _regionToTreeNode, _regTree, _regTreeModel, _rootNode, _title, DEFAULT_STATE, dtcr
 
Fields inherited from class edu.rice.cs.drjava.ui.TabbedPanel
_closeButton, _closePanel, _displayed, _mainPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
FindResultsPanel(MainFrame frame, RegionManager<MovingDocumentRegion> regionManager, String title, String searchString, boolean searchAll, boolean matchCase, boolean wholeWord, boolean noComments, boolean noTestCases, WeakReference<OpenDefinitionsDocument> doc, edu.rice.cs.drjava.ui.FindReplacePanel findReplace)
          Constructs a new find results panel.
 
Method Summary
protected  void _close()
          Destroys this panel and its contents.
protected  void _updateButtons()
          Update button state and text.
 void disableFindAgain()
          Disables "Find Again", e.g.
 void freeResources()
          Called from FindReplacePanel.findAll if search finds no matches.
 OpenDefinitionsDocument getDocument()
          Return the document which was searched (or where the search started, if _searchAll is true).
 LayeredHighlighter.LayerPainter getSelectedPainter()
           
protected  void goToRegion()
          Go to region.
 boolean isSearchAll()
          Return true if all documents were searched.
protected  JComponent[] makeButtons()
          Creates the buttons for controlling the regions.
protected  AbstractAction[] makePopupMenuActions()
          Makes popup menu actions.
protected  void performDefaultAction()
          Action performed when the Enter key is pressed.
 
Methods inherited from class edu.rice.cs.drjava.ui.RegionsTreePanel
_remove, _requestFocusInWindow, addRegion, closeIfEmpty, collapseAll, expandAll, expandTree, getSelectedRegions, makeRegionTreeUserObj, reload, removeRegion, requestFocusInWindow, updateButtons, updatePanel
 
Methods inherited from class edu.rice.cs.drjava.ui.TabbedPanel
addCloseListener, dragEnter, dragExit, dragOver, drop, dropActionChanged, getName, isDisplayed, setDisplayed, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, transferFocusBackward, 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, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_searchString

protected final String _searchString

_searchAll

protected final boolean _searchAll

_matchCase

protected final boolean _matchCase

_wholeWord

protected final boolean _wholeWord

_noComments

protected final boolean _noComments

_noTestCases

protected final boolean _noTestCases

_doc

protected final WeakReference<OpenDefinitionsDocument> _doc

_findReplace

protected final edu.rice.cs.drjava.ui.FindReplacePanel _findReplace

_findAgainButton

protected JButton _findAgainButton

_goToButton

protected JButton _goToButton

_bookmarkButton

protected JButton _bookmarkButton

_removeButton

protected JButton _removeButton

_colorBox

protected JComboBox _colorBox

_lastIndex

protected int _lastIndex
Constructor Detail

FindResultsPanel

public FindResultsPanel(MainFrame frame,
                        RegionManager<MovingDocumentRegion> regionManager,
                        String title,
                        String searchString,
                        boolean searchAll,
                        boolean matchCase,
                        boolean wholeWord,
                        boolean noComments,
                        boolean noTestCases,
                        WeakReference<OpenDefinitionsDocument> doc,
                        edu.rice.cs.drjava.ui.FindReplacePanel findReplace)
Constructs a new find results panel. This is swing class which should only be accessed from the event thread.

Parameters:
frame - the MainFrame
regionManager - the region manager associated with this panel
title - for the panel
searchString - string that was searched for
searchAll - whether all files were searched
doc - weak reference to the document in which the search occurred (or started, if all documents were searched)
findReplace - the FindReplacePanel that created this FindResultsPanel
Method Detail

makeButtons

protected JComponent[] makeButtons()
Creates the buttons for controlling the regions. Should be overridden.

Overrides:
makeButtons in class RegionsTreePanel<MovingDocumentRegion>

getSelectedPainter

public LayeredHighlighter.LayerPainter getSelectedPainter()
Returns:
the selected painter for these find results.

performDefaultAction

protected void performDefaultAction()
Action performed when the Enter key is pressed. Should be overridden.

Overrides:
performDefaultAction in class RegionsTreePanel<MovingDocumentRegion>

_updateButtons

protected void _updateButtons()
Update button state and text.

Overrides:
_updateButtons in class RegionsTreePanel<MovingDocumentRegion>

makePopupMenuActions

protected AbstractAction[] makePopupMenuActions()
Makes popup menu actions. Should be overridden if additional actions besides "Go to" and "Remove" are added.

Overrides:
makePopupMenuActions in class RegionsTreePanel<MovingDocumentRegion>

goToRegion

protected void goToRegion()
Go to region.

Overrides:
goToRegion in class RegionsTreePanel<MovingDocumentRegion>

_close

protected void _close()
Destroys this panel and its contents. This is a more comprehensive command than _closePanel (which is the _close operation inherited from RegionsTreePanel). The latter merely removes the panel from the TabbedPane but does not affect its contents, so panels like Find/Replace can be regenerated with their contents preserved.

Overrides:
_close in class RegionsTreePanel<MovingDocumentRegion>

freeResources

public void freeResources()
Called from FindReplacePanel.findAll if search finds no matches.


isSearchAll

public boolean isSearchAll()
Return true if all documents were searched.


getDocument

public OpenDefinitionsDocument getDocument()
Return the document which was searched (or where the search started, if _searchAll is true). May return null if the weak reference to the document was severed.


disableFindAgain

public void disableFindAgain()
Disables "Find Again", e.g. because the document was closed.