org.fife.ui.rsyntaxtextarea
Class ErrorStrip

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.fife.ui.rsyntaxtextarea.ErrorStrip
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ErrorStrip
extends javax.swing.JComponent

A component to sit alongside an RSyntaxTextArea that displays colored markers for locations of interest (parser errors, marked occurrences, etc.).

ErrorStrips display ParserNotices from Parsers. Currently, the only way to get lines flagged in this component is to register a Parser on an RSyntaxTextArea and return ParserNotices for each line to display an icon for. The severity of each notice must be at least the threshold set by setLevelThreshold(int) to be displayed in this error strip. The default threshold is ParserNotice.WARNING.

An ErrorStrip can be added to a UI like so:

 textArea = createTextArea();
 textArea.addParser(new MyParser(textArea)); // Identifies lines to display
 scrollPane = new RTextScrollPane(textArea, true);
 ErrorStrip es = new ErrorStrip(textArea);
 JPanel temp = new JPanel(new BorderLayout());
 temp.add(scrollPane);
 temp.add(es, BorderLayout.LINE_END);
 

Version:
0.5
Author:
Robert Futrell
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
ErrorStrip(RSyntaxTextArea textArea)
          Constructor.
 
Method Summary
 void addNotify()
          Overridden so we only start listening for parser notices when this component (and presumably the text area) are visible.
 void doLayout()
          Manually manages layout since this component uses no layout manager.
 java.awt.Color getCaretMarkerColor()
          returns the color to use when painting the caret marker.
 boolean getFollowCaret()
          Returns whether the caret's position should be drawn.
 int getLevelThreshold()
          Returns the minimum severity a parser notice must be for it to be displayed in this error strip.
 java.awt.Dimension getPreferredSize()
          
 boolean getShowMarkAll()
          Returns whether "mark all" highlights are shown in this error strip.
 boolean getShowMarkedOccurrences()
          Returns whether marked occurrences are shown in this error strip.
 java.lang.String getToolTipText(java.awt.event.MouseEvent e)
          
protected  void paintComponent(java.awt.Graphics g)
          Overridden to (possibly) draw the caret's position.
 void removeNotify()
          
 void setCaretMarkerColor(java.awt.Color color)
          Sets the color to use when painting the caret marker.
 void setFollowCaret(boolean follow)
          Toggles whether the caret's current location should be drawn.
 void setLevelThreshold(int level)
          Sets the minimum severity a parser notice must be for it to be displayed in this error strip.
 void setShowMarkAll(boolean show)
          Sets whether "mark all" highlights are shown in this error strip.
 void setShowMarkedOccurrences(boolean show)
          Sets whether marked occurrences are shown in this error strip.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, getName, 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
 

Constructor Detail

ErrorStrip

public ErrorStrip(RSyntaxTextArea textArea)
Constructor.

Parameters:
textArea - The text area we are examining.
Method Detail

addNotify

public void addNotify()
Overridden so we only start listening for parser notices when this component (and presumably the text area) are visible.

Overrides:
addNotify in class javax.swing.JComponent

doLayout

public void doLayout()
Manually manages layout since this component uses no layout manager.

Overrides:
doLayout in class java.awt.Container

getCaretMarkerColor

public java.awt.Color getCaretMarkerColor()
returns the color to use when painting the caret marker.

Returns:
The caret marker color.
See Also:
setCaretMarkerColor(Color)

getFollowCaret

public boolean getFollowCaret()
Returns whether the caret's position should be drawn.

Returns:
Whether the caret's position should be drawn.
See Also:
setFollowCaret(boolean)

getPreferredSize

public java.awt.Dimension getPreferredSize()

Overrides:
getPreferredSize in class javax.swing.JComponent

getLevelThreshold

public int getLevelThreshold()
Returns the minimum severity a parser notice must be for it to be displayed in this error strip. This will be one of the constants defined in the ParserNotice class.

Returns:
The minimum severity.
See Also:
setLevelThreshold(int)

getShowMarkAll

public boolean getShowMarkAll()
Returns whether "mark all" highlights are shown in this error strip.

Returns:
Whether markers are shown for "mark all" highlights.
See Also:
setShowMarkAll(boolean)

getShowMarkedOccurrences

public boolean getShowMarkedOccurrences()
Returns whether marked occurrences are shown in this error strip.

Returns:
Whether marked occurrences are shown.
See Also:
setShowMarkedOccurrences(boolean)

getToolTipText

public java.lang.String getToolTipText(java.awt.event.MouseEvent e)

Overrides:
getToolTipText in class javax.swing.JComponent

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overridden to (possibly) draw the caret's position.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - The graphics context.

removeNotify

public void removeNotify()

Overrides:
removeNotify in class javax.swing.JComponent

setCaretMarkerColor

public void setCaretMarkerColor(java.awt.Color color)
Sets the color to use when painting the caret marker.

Parameters:
color - The new caret marker color.
See Also:
getCaretMarkerColor()

setFollowCaret

public void setFollowCaret(boolean follow)
Toggles whether the caret's current location should be drawn.

Parameters:
follow - Whether the caret's current location should be followed.
See Also:
getFollowCaret()

setLevelThreshold

public void setLevelThreshold(int level)
Sets the minimum severity a parser notice must be for it to be displayed in this error strip. This should be one of the constants defined in the ParserNotice class. The default value is ParserNotice.WARNING.

Parameters:
level - The new severity threshold.
See Also:
getLevelThreshold(), ParserNotice

setShowMarkAll

public void setShowMarkAll(boolean show)
Sets whether "mark all" highlights are shown in this error strip.

Parameters:
show - Whether to show markers for "mark all" highlights.
See Also:
getShowMarkAll()

setShowMarkedOccurrences

public void setShowMarkedOccurrences(boolean show)
Sets whether marked occurrences are shown in this error strip.

Parameters:
show - Whether to show marked occurrences.
See Also:
getShowMarkedOccurrences()