Package org.fife.ui.rtextarea
Class FoldIndicator
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.fife.ui.rtextarea.FoldIndicator
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class FoldIndicator extends JPanel
Component in the gutter that displays +/- icons to expand and collapse fold regions in the editor.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 int
currentLineCount
The number of lines in the text area.protected RTextArea
textArea
The text area whose lines we are marking with icons.-
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
-
-
Constructor Summary
Constructors Constructor Description FoldIndicator(RTextArea textArea)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JToolTip
createToolTip()
Overridden to use the editor's background if it's detected that the user isn't using white as the editor bg, but the system's tool tip background is yellow-ish.protected static Rectangle
getChildViewBounds(View parent, int line, Rectangle editorRect)
Returns the bounds of a child view as a rectangle, sinceView
s tend to useShape
.Color
getFoldIconBackground()
Returns the color to use for the "background" of fold icons.protected Gutter
getGutter()
Returns the parentGutter
component.Dimension
getPreferredSize()
boolean
getShowCollapsedRegionToolTips()
Returns whether tool tips are displayed showing the contents of collapsed fold regions when the mouse hovers over a +/- icon.Point
getToolTipLocation(MouseEvent e)
Positions tool tips to be aligned in the text component, so that the displayed content is shown (almost) exactly where it would be in the editor.String
getToolTipText(MouseEvent e)
Overridden to show the content of a collapsed fold on mouse-overs.protected void
init()
Called by the constructor before the text area is set.protected void
paintComponent(Graphics g)
void
setFoldIconBackground(Color bg)
Sets the color to use for the "background" of fold icons.void
setFoldIcons(Icon collapsedIcon, Icon expandedIcon)
Sets the icons to use to represent collapsed and expanded folds.void
setShowCollapsedRegionToolTips(boolean show)
Toggles whether tool tips should be displayed showing the contents of collapsed fold regions when the mouse hovers over a +/- icon.void
setTextArea(RTextArea textArea)
Overridden so we can track when code folding is enabled/disabled.-
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, 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, 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, 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, setVisible, 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
-
textArea
protected RTextArea textArea
The text area whose lines we are marking with icons.
-
currentLineCount
protected int currentLineCount
The number of lines in the text area.
-
-
Constructor Detail
-
FoldIndicator
public FoldIndicator(RTextArea textArea)
-
-
Method Detail
-
createToolTip
public JToolTip createToolTip()
Overridden to use the editor's background if it's detected that the user isn't using white as the editor bg, but the system's tool tip background is yellow-ish.- Overrides:
createToolTip
in classJComponent
- Returns:
- The tool tip.
-
getFoldIconBackground
public Color getFoldIconBackground()
Returns the color to use for the "background" of fold icons. This is be ignored if custom icons are used.- Returns:
- The background color.
- See Also:
setFoldIconBackground(Color)
-
getPreferredSize
public Dimension getPreferredSize()
- Overrides:
getPreferredSize
in classJComponent
-
getShowCollapsedRegionToolTips
public boolean getShowCollapsedRegionToolTips()
Returns whether tool tips are displayed showing the contents of collapsed fold regions when the mouse hovers over a +/- icon.- Returns:
- Whether these tool tips are displayed.
- See Also:
setShowCollapsedRegionToolTips(boolean)
-
getToolTipLocation
public Point getToolTipLocation(MouseEvent e)
Positions tool tips to be aligned in the text component, so that the displayed content is shown (almost) exactly where it would be in the editor.- Overrides:
getToolTipLocation
in classJComponent
- Parameters:
e
- The mouse location.
-
getToolTipText
public String getToolTipText(MouseEvent e)
Overridden to show the content of a collapsed fold on mouse-overs.- Overrides:
getToolTipText
in classJComponent
- Parameters:
e
- The mouse location.
-
init
protected void init()
Called by the constructor before the text area is set. This is a hook to allow subclasses to do any needed initialization. The default implementation does nothing.
-
paintComponent
protected void paintComponent(Graphics g)
- Overrides:
paintComponent
in classJComponent
-
setFoldIconBackground
public void setFoldIconBackground(Color bg)
Sets the color to use for the "background" of fold icons. This will be ignored if custom icons are used.- Parameters:
bg
- The new background color.- See Also:
getFoldIconBackground()
-
setFoldIcons
public void setFoldIcons(Icon collapsedIcon, Icon expandedIcon)
Sets the icons to use to represent collapsed and expanded folds.- Parameters:
collapsedIcon
- The collapsed fold icon. This cannot benull
.expandedIcon
- The expanded fold icon. This cannot benull
.
-
setShowCollapsedRegionToolTips
public void setShowCollapsedRegionToolTips(boolean show)
Toggles whether tool tips should be displayed showing the contents of collapsed fold regions when the mouse hovers over a +/- icon.- Parameters:
show
- Whether to show these tool tips.- See Also:
getShowCollapsedRegionToolTips()
-
setTextArea
public void setTextArea(RTextArea textArea)
Overridden so we can track when code folding is enabled/disabled.- Parameters:
textArea
- The text area.
-
getChildViewBounds
protected static final Rectangle getChildViewBounds(View parent, int line, Rectangle editorRect)
Returns the bounds of a child view as a rectangle, sinceView
s tend to useShape
.- Parameters:
parent
- The parent view of the child whose bounds we're getting.line
- The index of the child view.editorRect
- Returned from the text area'sgetVisibleEditorRect
method.- Returns:
- The child view's bounds.
-
getGutter
protected Gutter getGutter()
Returns the parentGutter
component.- Returns:
- The parent
Gutter
.
-
-