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
Component in the gutter that displays +/- icons to expand and collapse
fold regions in the editor.
- Version:
- 1.0
- Author:
- Robert Futrell
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intThe number of lines in the text area.static final ColorThe default color used to paint the "inside" of fold icons.static final ColorThe color used to paint fold outlines.protected RTextAreaThe text area whose lines we are marking with icons.Fields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidOverridden 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.intReturns the amount of additional size to give the left margin of this component.Returns the foreground color used for armed folds.protected static RectanglegetChildViewBounds(View parent, int line, Rectangle editorRect) Returns the bounds of a child view as a rectangle, sinceViews tend to useShape.Returns the strategy to use for rendering expanded folds.Returns the color to use for the "background" of armed fold icons.Returns the color to use for the "background" of fold icons.protected GutterReturns the parentGuttercomponent.booleanReturns whether a line should be drawn to show the range of lines contained in an expanded fold when it is armed (hovered over).booleanReturns whether tool tips are displayed showing the contents of collapsed fold regions when the mouse hovers over a +/- icon.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.Overridden to show the content of a collapsed fold on mouse-overs.protected voidinit()Called by the constructor before the text area is set.protected voidvoidvoidsetAdditionalLeftMargin(int leftMargin) Adds to the amount of additional size to give the left margin of this component.voidSets the foreground color used for armed folds.voidSets the strategy to use for rendering expanded folds.voidSets the color to use for the "background" of armed fold icons.voidSets the color to use for the "background" of fold icons.voidsetFoldIcons(FoldIndicatorIcon collapsedIcon, FoldIndicatorIcon expandedIcon) Sets the icons to use to represent collapsed and expanded folds.voidsetShowArmedFoldRange(boolean show) Toggles whether a line should be drawn to show the range of lines contained in an expanded fold when it is armed (hovered over).voidsetShowCollapsedRegionToolTips(boolean show) Toggles whether tool tips should be displayed showing the contents of collapsed fold regions when the mouse hovers over a +/- icon.voidsetTextArea(RTextArea textArea) Overridden so we can track when code folding is enabled/disabled.Methods inherited from class JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class JComponent
addAncestorListener, 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, 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, updateMethods inherited from class 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, validateTreeMethods inherited from class 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
-
DEFAULT_FOREGROUND
The color used to paint fold outlines. -
DEFAULT_FOLD_BACKGROUND
The default color used to paint the "inside" of fold icons. -
textArea
The text area whose lines we are marking with icons. -
currentLineCount
protected int currentLineCountThe number of lines in the text area.
-
-
Constructor Details
-
FoldIndicator
-
-
Method Details
-
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:
createToolTipin classJComponent- Returns:
- The tool tip.
-
getAdditionalLeftMargin
public int getAdditionalLeftMargin()Returns the amount of additional size to give the left margin of this component. This can be used to add blank space between this component and the line number indicator in the gutter.- Returns:
- The additional left margin.
- See Also:
-
getArmedForeground
Returns the foreground color used for armed folds.- Returns:
- The foreground color used for armed folds.
- See Also:
-
getExpandedFoldRenderStrategy
Returns the strategy to use for rendering expanded folds.- Returns:
- The strategy to use for rendering expanded folds.
- See Also:
-
getFoldIconArmedBackground
Returns the color to use for the "background" of armed fold icons. This is ignored if custom icons are used.- Returns:
- The background color. If this is
null, there is no special color for armed fold icons. - See Also:
-
getFoldIconBackground
Returns the color to use for the "background" of fold icons. This is ignored if custom icons are used.- Returns:
- The background color.
- See Also:
-
getPreferredSize
- Overrides:
getPreferredSizein classJComponent
-
getShowArmedFoldRange
public boolean getShowArmedFoldRange()Returns whether a line should be drawn to show the range of lines contained in an expanded fold when it is armed (hovered over).- Returns:
- Whether to show an armed fold's range.
- See Also:
-
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:
-
getToolTipLocation
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:
getToolTipLocationin classJComponent- Parameters:
e- The mouse location.
-
getToolTipText
Overridden to show the content of a collapsed fold on mouse-overs.- Overrides:
getToolTipTextin 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
- Overrides:
paintComponentin classJComponent
-
setAdditionalLeftMargin
public void setAdditionalLeftMargin(int leftMargin) Adds to the amount of additional size to give the left margin of this component. This can be used to add blank space between this component and the line number indicator in the gutter.- Parameters:
leftMargin- The additional left margin. This should be>= 0.- See Also:
-
setArmedForeground
Sets the foreground color used for armed folds.- Parameters:
fg- The new armed fold foreground.- See Also:
-
setExpandedFoldRenderStrategy
Sets the strategy to use for rendering expanded folds.- Parameters:
strategy- The strategy to use. This cannot benull.- See Also:
-
setFoldIconArmedBackground
Sets the color to use for the "background" of armed fold icons. This will be ignored if custom icons are used.- Parameters:
bg- The new background color. Ifnullis passed in, there will be no special color for armed fold icons.- See Also:
-
setFoldIconBackground
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. This should not benull.- See Also:
-
setFoldIcons
Sets the icons to use to represent collapsed and expanded folds. This method can be used for further customization after setting this component's general appearance viasetStyle(FoldIndicatorStyle).- Parameters:
collapsedIcon- The collapsed fold icon. This cannot benull.expandedIcon- The expanded fold icon. This cannot benull.- See Also:
-
setShowArmedFoldRange
public void setShowArmedFoldRange(boolean show) Toggles whether a line should be drawn to show the range of lines contained in an expanded fold when it is armed (hovered over).- Parameters:
show- Whether to show an armed fold's range.- See Also:
-
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:
-
setTextArea
Overridden so we can track when code folding is enabled/disabled.- Parameters:
textArea- The text area.
-
addNotify
public void addNotify()- Overrides:
addNotifyin classJComponent
-
getChildViewBounds
Returns the bounds of a child view as a rectangle, sinceViews 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'sgetVisibleEditorRectmethod.- Returns:
- The child view's bounds.
-
getGutter
-
removeNotify
public void removeNotify()- Overrides:
removeNotifyin classJComponent
-