Package org.gjt.sp.jedit.textarea
Class Gutter
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.gjt.sp.jedit.textarea.Gutter
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.swing.SwingConstants
public class Gutter extends javax.swing.JComponent implements javax.swing.SwingConstantsThe gutter is the component that displays folding indicators and line numbers to the left of the text area. The only methods in this class that should be called by plugins are those for adding and removing text area extensions.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_FOLD_PAINTER_SERVICEstatic intDEFAULT_LAYERDefault extension layer.static java.lang.StringFOLD_PAINTER_PROPERTYFold painter service.static java.lang.StringFOLD_PAINTER_SERVICEstatic intHIGHEST_LAYERHighest possible layer.static intLOWEST_LAYERThe lowest possible layer.-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExtension(int layer, TextAreaExtension extension)Adds a text area extension, which can perform custom painting and tool tip handling.voidaddExtension(TextAreaExtension extension)Adds a text area extension, which can perform custom painting and tool tip handling.java.awt.ColorgetCurrentLineForeground()TextAreaExtension[]getExtensions()Returns an array of registered text area extensions.java.awt.ColorgetFoldColor()java.awt.ColorgetHighlightedForeground()Get the foreground color for highlighted line numbersintgetHighlightInterval()Sets the number of lines between highlighted line numbers.intgetLineNumberAlignment()Identifies whether the horizontal alignment of the line numbers.java.awt.DimensiongetMinimumSize()java.awt.DimensiongetPreferredSize()GutterPopupHandlergetSelectionPopupHandler()java.awt.ColorgetStructureHighlightColor()Returns the structure highlight color.java.lang.StringgetToolTipText(java.awt.event.MouseEvent evt)Returns the tool tip to display at the specified location.booleanisCurrentLineHighlightEnabled()booleanisExpanded()Identifies whether the gutter is collapsed or expanded.booleanisSelectionAreaEnabled()booleanisStructureHighlightEnabled()Returns true if structure highlighting is enabled, false otherwise.voidpaintComponent(java.awt.Graphics _gfx)voidremoveExtension(TextAreaExtension extension)Removes a text area extension.voidsetBorder(int width, java.awt.Color color1, java.awt.Color color2, java.awt.Color color3)Convenience method for setting a default matte border on the right with the specified border width and colorvoidsetBorder(javax.swing.border.Border border)voidsetCurrentLineForeground(java.awt.Color highlight)voidsetCurrentLineHighlightEnabled(boolean enabled)voidsetExpanded(boolean expanded)Sets whether the gutter is collapsed or expanded and force the text area to update its layout if there is a change.voidsetFoldColor(java.awt.Color foldColor)voidsetFoldPainter(FoldPainter painter)voidsetFont(java.awt.Font font)voidsetGutterEnabled(boolean enabled)voidsetHighlightedForeground(java.awt.Color highlight)voidsetHighlightInterval(int interval)Sets the number of lines between highlighted line numbers.voidsetLineNumberAlignment(int alignment)Sets the horizontal alignment of the line numbers.voidsetMinLineNumberDigitCount(int min)voidsetMouseActionsProvider(MouseActionsProvider mouseActionsProvider)voidsetSelectionAreaBackground(java.awt.Color bgColor)voidsetSelectionAreaEnabled(boolean enabled)voidsetSelectionAreaWidth(int width)voidsetSelectionPopupHandler(GutterPopupHandler handler)voidsetStructureHighlightColor(java.awt.Color structureHighlightColor)Sets the structure highlight color.voidsetStructureHighlightEnabled(boolean structureHighlight)Enables or disables structure highlighting.voidtoggleExpanded()Toggles whether the gutter is collapsed or expanded.voidupdateBorder()Sets the border differently if the text area has focus or not.-
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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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, getAccessibleContext, 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
-
LOWEST_LAYER
public static final int LOWEST_LAYER
The lowest possible layer.- Since:
- jEdit 4.0pre4
- See Also:
addExtension(int,TextAreaExtension), Constant Field Values
-
DEFAULT_LAYER
public static final int DEFAULT_LAYER
Default extension layer. This is above the wrap guide but below the bracket highlight.- Since:
- jEdit 4.0pre4
- See Also:
- Constant Field Values
-
HIGHEST_LAYER
public static final int HIGHEST_LAYER
Highest possible layer.- Since:
- jEdit 4.0pre4
- See Also:
- Constant Field Values
-
FOLD_PAINTER_PROPERTY
public static final java.lang.String FOLD_PAINTER_PROPERTY
Fold painter service.- Since:
- jEdit 4.3pre16
- See Also:
- Constant Field Values
-
FOLD_PAINTER_SERVICE
public static final java.lang.String FOLD_PAINTER_SERVICE
- See Also:
- Constant Field Values
-
DEFAULT_FOLD_PAINTER_SERVICE
public static final java.lang.String DEFAULT_FOLD_PAINTER_SERVICE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Gutter
public Gutter(TextArea textArea)
-
-
Method Detail
-
setFoldPainter
public void setFoldPainter(FoldPainter painter)
-
paintComponent
public void paintComponent(java.awt.Graphics _gfx)
- Overrides:
paintComponentin classjavax.swing.JComponent
-
addExtension
public void addExtension(TextAreaExtension extension)
Adds a text area extension, which can perform custom painting and tool tip handling.- Parameters:
extension- The extension- Since:
- jEdit 4.0pre4
-
addExtension
public void addExtension(int layer, TextAreaExtension extension)Adds a text area extension, which can perform custom painting and tool tip handling.- Parameters:
layer- The layer to add the extension to. Note that more than extension can share the same layer.extension- The extension- Since:
- jEdit 4.0pre4
-
removeExtension
public void removeExtension(TextAreaExtension extension)
Removes a text area extension. It will no longer be asked to perform custom painting and tool tip handling.- Parameters:
extension- The extension- Since:
- jEdit 4.0pre4
-
getExtensions
public TextAreaExtension[] getExtensions()
Returns an array of registered text area extensions. Useful for debugging purposes.- Since:
- jEdit 4.1pre5
-
getToolTipText
public java.lang.String getToolTipText(java.awt.event.MouseEvent evt)
Returns the tool tip to display at the specified location.- Overrides:
getToolTipTextin classjavax.swing.JComponent- Parameters:
evt- The mouse event
-
setBorder
public void setBorder(int width, java.awt.Color color1, java.awt.Color color2, java.awt.Color color3)Convenience method for setting a default matte border on the right with the specified border width and color- Parameters:
width- The border width (in pixels)color1- The focused border colorcolor2- The unfocused border colorcolor3- The gutter/text area gap color
-
updateBorder
public void updateBorder()
Sets the border differently if the text area has focus or not.
-
setBorder
public void setBorder(javax.swing.border.Border border)
- Overrides:
setBorderin classjavax.swing.JComponent
-
setMinLineNumberDigitCount
public void setMinLineNumberDigitCount(int min)
-
setFont
public void setFont(java.awt.Font font)
- Overrides:
setFontin classjavax.swing.JComponent
-
setGutterEnabled
public void setGutterEnabled(boolean enabled)
-
isSelectionAreaEnabled
public boolean isSelectionAreaEnabled()
-
setSelectionAreaEnabled
public void setSelectionAreaEnabled(boolean enabled)
-
setSelectionAreaBackground
public void setSelectionAreaBackground(java.awt.Color bgColor)
-
setSelectionAreaWidth
public void setSelectionAreaWidth(int width)
-
getHighlightedForeground
public java.awt.Color getHighlightedForeground()
Get the foreground color for highlighted line numbers- Returns:
- The highlight color
-
setHighlightedForeground
public void setHighlightedForeground(java.awt.Color highlight)
-
getCurrentLineForeground
public java.awt.Color getCurrentLineForeground()
-
setCurrentLineForeground
public void setCurrentLineForeground(java.awt.Color highlight)
-
getFoldColor
public java.awt.Color getFoldColor()
-
setFoldColor
public void setFoldColor(java.awt.Color foldColor)
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
- Overrides:
getPreferredSizein classjavax.swing.JComponent
-
getMinimumSize
public java.awt.Dimension getMinimumSize()
- Overrides:
getMinimumSizein classjavax.swing.JComponent
-
getLineNumberAlignment
public int getLineNumberAlignment()
Identifies whether the horizontal alignment of the line numbers.- Returns:
- Gutter.RIGHT, Gutter.CENTER, Gutter.LEFT
-
setLineNumberAlignment
public void setLineNumberAlignment(int alignment)
Sets the horizontal alignment of the line numbers.- Parameters:
alignment- Gutter.RIGHT, Gutter.CENTER, Gutter.LEFT
-
isExpanded
public boolean isExpanded()
Identifies whether the gutter is collapsed or expanded.- Returns:
- true if the gutter is expanded, false if it is collapsed
-
setExpanded
public void setExpanded(boolean expanded)
Sets whether the gutter is collapsed or expanded and force the text area to update its layout if there is a change.- Parameters:
expanded- true if the gutter is expanded, false if it is collapsed
-
toggleExpanded
public void toggleExpanded()
Toggles whether the gutter is collapsed or expanded.
-
getHighlightInterval
public int getHighlightInterval()
Sets the number of lines between highlighted line numbers.- Returns:
- The number of lines between highlighted line numbers or zero if highlighting is disabled
-
setHighlightInterval
public void setHighlightInterval(int interval)
Sets the number of lines between highlighted line numbers. Any value less than or equal to one will result in highlighting being disabled.- Parameters:
interval- The number of lines between highlighted line numbers
-
isCurrentLineHighlightEnabled
public boolean isCurrentLineHighlightEnabled()
-
setCurrentLineHighlightEnabled
public void setCurrentLineHighlightEnabled(boolean enabled)
-
getStructureHighlightColor
public final java.awt.Color getStructureHighlightColor()
Returns the structure highlight color.- Since:
- jEdit 4.2pre3
-
setStructureHighlightColor
public final void setStructureHighlightColor(java.awt.Color structureHighlightColor)
Sets the structure highlight color.- Parameters:
structureHighlightColor- The structure highlight color- Since:
- jEdit 4.2pre3
-
isStructureHighlightEnabled
public final boolean isStructureHighlightEnabled()
Returns true if structure highlighting is enabled, false otherwise.- Since:
- jEdit 4.2pre3
-
setStructureHighlightEnabled
public final void setStructureHighlightEnabled(boolean structureHighlight)
Enables or disables structure highlighting.- Parameters:
structureHighlight- True if structure highlighting should be enabled, false otherwise- Since:
- jEdit 4.2pre3
-
setSelectionPopupHandler
public void setSelectionPopupHandler(GutterPopupHandler handler)
-
getSelectionPopupHandler
public GutterPopupHandler getSelectionPopupHandler()
-
setMouseActionsProvider
public void setMouseActionsProvider(MouseActionsProvider mouseActionsProvider)
-
-