JIDE 3.5.15

com.jidesoft.editor.margin
Class CodeFoldingMargin

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.jidesoft.margin.AbstractMargin
                  extended by com.jidesoft.editor.margin.AbstractMargin
                      extended by com.jidesoft.editor.margin.CodeFoldingMargin
All Implemented Interfaces:
FoldingSpanListener, Margin, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, MouseInputListener

public class CodeFoldingMargin
extends AbstractMargin
implements FoldingSpanListener, MouseInputListener

A margin component for code folding.

See Also:
Serialized Form

Nested Class Summary
protected static class CodeFoldingMargin.HitInfo
           
 
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
protected  CodeFoldingPainter _codeFoldingPainter
           
 
Fields inherited from class com.jidesoft.editor.margin.AbstractMargin
_editor
 
Fields inherited from class com.jidesoft.margin.AbstractMargin
_marginPainters, _marginSupport, _modelChangedCallback, _preferredSize, _repaintCallback, PROPERTY_CLICK_TO_SELECT
 
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
CodeFoldingMargin()
           
CodeFoldingMargin(CodeEditor editor)
           
 
Method Summary
 void foldingSpanChanged(FoldingSpanEvent e)
          Called when folding span changed such as a folding span is added or removed, expanded or collapsed.
 CodeFoldingPainter getCodeFoldingPainter()
           
 int getPreferredWidth()
          Gets the preferred width of the margin.
protected  CodeFoldingMargin.HitInfo getSpanInfo(Point p)
           
protected  void installListenersOnEditor()
           
 void mouseClicked(MouseEvent e)
           
 void mouseDragged(MouseEvent e)
           
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mouseMoved(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
protected  void paintBackground(Graphics g)
           
protected  void paintFolding(Graphics g, FoldingSpan span, int height)
           
 void paintMargin(Graphics g)
          Paints the margin.
 void setCodeEditor(CodeEditor editor)
          Sets the code editor.
 void setCodeFoldingPainter(CodeFoldingPainter codeFoldingPainter)
           
protected  void uninstallListenersOnEditor()
           
 
Methods inherited from class com.jidesoft.editor.margin.AbstractMargin
getCodeEditor
 
Methods inherited from class com.jidesoft.margin.AbstractMargin
addMarginPainter, createModelChangedCallback, createRepaintCallback, getMarginComponent, getMarginPainters, getMarginSupport, getPreferredSize, invalidate, isClickToSelect, paintComponent, removeMarginPainter, setClickToSelect, setMarginSupport
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, 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
 
Methods inherited from interface com.jidesoft.margin.Margin
addMarginPainter, getMarginComponent, getMarginSupport, removeMarginPainter, setMarginSupport
 

Field Detail

_codeFoldingPainter

protected CodeFoldingPainter _codeFoldingPainter
Constructor Detail

CodeFoldingMargin

public CodeFoldingMargin()

CodeFoldingMargin

public CodeFoldingMargin(CodeEditor editor)
Method Detail

installListenersOnEditor

protected void installListenersOnEditor()
Overrides:
installListenersOnEditor in class AbstractMargin

uninstallListenersOnEditor

protected void uninstallListenersOnEditor()
Overrides:
uninstallListenersOnEditor in class AbstractMargin

paintMargin

public void paintMargin(Graphics g)
Description copied from interface: Margin
Paints the margin.

Specified by:
paintMargin in interface Margin

foldingSpanChanged

public void foldingSpanChanged(FoldingSpanEvent e)
Description copied from interface: FoldingSpanListener
Called when folding span changed such as a folding span is added or removed, expanded or collapsed.

Specified by:
foldingSpanChanged in interface FoldingSpanListener

getCodeFoldingPainter

public CodeFoldingPainter getCodeFoldingPainter()

setCodeFoldingPainter

public void setCodeFoldingPainter(CodeFoldingPainter codeFoldingPainter)

paintBackground

protected void paintBackground(Graphics g)
Overrides:
paintBackground in class AbstractMargin

getPreferredWidth

public int getPreferredWidth()
Description copied from interface: Margin
Gets the preferred width of the margin. Since the margin is placed vertical besides the code editor, the height is fixed. That's why it only needs to ask for the preferred width using this method.

Specified by:
getPreferredWidth in interface Margin
Returns:
the preferred width.

paintFolding

protected void paintFolding(Graphics g,
                            FoldingSpan span,
                            int height)

mouseClicked

public void mouseClicked(MouseEvent e)
Specified by:
mouseClicked in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Specified by:
mouseReleased in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent e)
Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)
Specified by:
mouseExited in interface MouseListener

mouseDragged

public void mouseDragged(MouseEvent e)
Specified by:
mouseDragged in interface MouseMotionListener

mouseMoved

public void mouseMoved(MouseEvent e)
Specified by:
mouseMoved in interface MouseMotionListener

getSpanInfo

protected CodeFoldingMargin.HitInfo getSpanInfo(Point p)

setCodeEditor

public void setCodeEditor(CodeEditor editor)
Description copied from interface: Margin
Sets the code editor.

Overrides:
setCodeEditor in class AbstractMargin

JIDE 3.5.15