Package org.fife.ui.rsyntaxtextarea
Class ErrorStrip
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.fife.ui.rsyntaxtextarea.ErrorStrip
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
A component to sit alongside an
RSyntaxTextArea
that displays
colored markers for locations of interest (parser errors, marked
occurrences, etc.).
ErrorStrip
s display ParserNotice
s from
Parser
s. Currently, the only way to get lines flagged in this
component is to register a Parser
on an RSyntaxTextArea and
return ParserNotice
s for each line to display an icon for.
The severity of each notice must be at least the threshold set by
setLevelThreshold(org.fife.ui.rsyntaxtextarea.parser.ParserNotice.Level)
to be displayed in this error strip. The default threshold is
ParserNotice.Level.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
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
The default implementation of the provider of tool tips for markers in an error strip.static interface
Returns tool tip text for the markers in anErrorStrip
that denote one or more parser notices.private class
Listens for events in the error strip and its markers.private class
A notice that wraps a "marked occurrence" instance.private class
A "marker" in this error strip, representing one or more notices.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
FieldsModifier and TypeFieldDescriptionMapping of colors to brighter colors.private int
Where we paint the caret marker.private Color
The color to use for the caret marker.private boolean
Whether the caret marker's location should be rendered.private int
The last location of the caret marker.private ParserNotice.Level
Only notices of this severity (or worse) will be displayed in this error strip.private ErrorStrip.Listener
Listens for events in this component.Generates the tool tips for markers in this error strip.private static final ResourceBundle
private static final int
The preferred width of this component.private boolean
Whether markers for "mark all" highlights should be shown in this error strip.private boolean
Whether "marked occurrences" in the text area should be shown in this error strip.private RSyntaxTextArea
The text area.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 -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addMarkersForRanges
(List<DocumentRange> ranges, Map<Integer, ErrorStrip.Marker> markerMap, Color color) Adds markers for a list of ranges in the document.void
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.private Color
Returns a "brighter" color.returns the color to use when painting the caret marker.private ColorUIResource
Returns the default color for the caret marker.boolean
Returns whether the caret's position should be drawn.Returns the minimum severity a parser notice must be for it to be displayed in this error strip.boolean
Returns whether "mark all" highlights are shown in this error strip.boolean
Returns whether marked occurrences are shown in this error strip.private int
Returns the y-offset in this component corresponding to a line in the text component.protected void
Overridden to (possibly) draw the caret's position.private static int
possiblyBrighter
(int i) Returns a possibly brighter component for a color.private void
Refreshes the markers displayed in this error strip.void
void
setCaretMarkerColor
(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
Sets the minimum severity a parser notice must be for it to be displayed in this error strip.void
Sets the provider of tool tips for markers 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.void
updateUI()
private int
yToLine
(int y) Returns the line in the text area corresponding to a y-offset in this component.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, 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
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, 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 Details
-
textArea
The text area. -
listener
Listens for events in this component. -
showMarkedOccurrences
private boolean showMarkedOccurrencesWhether "marked occurrences" in the text area should be shown in this error strip. -
showMarkAll
private boolean showMarkAllWhether markers for "mark all" highlights should be shown in this error strip. -
brighterColors
Mapping of colors to brighter colors. This is kept to prevent unnecessary creation of the same Colors over and over. -
levelThreshold
Only notices of this severity (or worse) will be displayed in this error strip. -
followCaret
private boolean followCaretWhether the caret marker's location should be rendered. -
caretMarkerColor
The color to use for the caret marker. -
caretLineY
private int caretLineYWhere we paint the caret marker. -
lastLineY
private int lastLineYThe last location of the caret marker. -
markerToolTipProvider
Generates the tool tips for markers in this error strip. -
PREFERRED_WIDTH
private static final int PREFERRED_WIDTHThe preferred width of this component.- See Also:
-
MSG
-
-
Constructor Details
-
ErrorStrip
Constructor.- Parameters:
textArea
- The text area we are examining.
-
-
Method Details
-
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 classJComponent
-
doLayout
public void doLayout()Manually manages layout since this component uses no layout manager. -
getBrighterColor
Returns a "brighter" color.- Parameters:
c
- The color.- Returns:
- A brighter color.
-
getCaretMarkerColor
returns the color to use when painting the caret marker.- Returns:
- The caret marker color.
- See Also:
-
getDefaultCaretMarkerColor
Returns the default color for the caret marker. This is a UI resource so that it is updated if the LookAndFeel is updated, but not if the user overrides it.- Returns:
- The default 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:
-
getPreferredSize
- Overrides:
getPreferredSize
in classJComponent
-
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 theParserNotice
class.- Returns:
- The minimum severity.
- See Also:
-
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:
-
getShowMarkedOccurrences
public boolean getShowMarkedOccurrences()Returns whether marked occurrences are shown in this error strip.- Returns:
- Whether marked occurrences are shown.
- See Also:
-
getToolTipText
- Overrides:
getToolTipText
in classJComponent
-
lineToY
Returns the y-offset in this component corresponding to a line in the text component.- Parameters:
line
- The line.- Returns:
- The y-offset.
- See Also:
-
paintComponent
Overridden to (possibly) draw the caret's position.- Overrides:
paintComponent
in classJComponent
- Parameters:
g
- The graphics context.
-
possiblyBrighter
private static int possiblyBrighter(int i) Returns a possibly brighter component for a color.- Parameters:
i
- An RGB component for a color (0-255).- Returns:
- A possibly brighter value for the component.
-
refreshMarkers
private void refreshMarkers()Refreshes the markers displayed in this error strip. -
addMarkersForRanges
private void addMarkersForRanges(List<DocumentRange> ranges, Map<Integer, ErrorStrip.Marker> markerMap, Color color) Adds markers for a list of ranges in the document.- Parameters:
ranges
- The list of ranges in the document.markerMap
- A mapping from line number toMarker
.color
- The color to use for the markers.
-
removeNotify
public void removeNotify()- Overrides:
removeNotify
in classJComponent
-
setCaretMarkerColor
Sets the color to use when painting the caret marker.- Parameters:
color
- The new caret marker color.- See Also:
-
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:
-
setLevelThreshold
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 theParserNotice
class. The default value isParserNotice.Level.WARNING
.- Parameters:
level
- The new severity threshold.- See Also:
-
setMarkerToolTipProvider
Sets the provider of tool tips for markers in this error strip. Applications can use this method to control the content and format of the tool tip descriptions of line markers.- Parameters:
provider
- The provider. If this isnull
, a default implementation will be used.
-
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:
-
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:
-
updateUI
public void updateUI() -
yToLine
private int yToLine(int y) Returns the line in the text area corresponding to a y-offset in this component.- Parameters:
y
- The y-offset.- Returns:
- The line.
- See Also:
-