Class JESGutter

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--JESGutter
All Implemented Interfaces:
javax.swing.event.DocumentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JESGutter
extends javax.swing.JComponent
implements javax.swing.event.DocumentListener

The JES Gutter Created for the Jython Environment for Students The JES Gutter is a side bar that shows useful contextual information about the document being currently edited. It shows line numbers, block marking, and demarcates def statements.

See Also:
Serialized Form

Field Summary
 
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
JESGutter(javax.swing.JEditorPane tc, java.awt.Font f)
          Class constructor Creates a Gutter object with a given TextComponent.
 
Method Summary
 void changedUpdate(javax.swing.event.DocumentEvent e)
          Method: changedUpdate Gives notification that an attribute or set of attributes changed.
 void insertUpdate(javax.swing.event.DocumentEvent e)
          Method: insertUpdate Gives notification that there was text inserted into the document.
 void paint(java.awt.Graphics g)
          paint Paints gutter information to the graphics object
 void removeLineMark()
          removeLineMark Removes the line demarcation from the gutter
 void removeUpdate(javax.swing.event.DocumentEvent e)
          Method: removeUpdate Gives notifications that text was removed from the document.
 void setDocument(javax.swing.text.Document doc)
          setDocument Sets the document for the gutter to listen for changes in.
 void setLine(int line, int indent, int height)
          setLine Adds a line to the gutter.
 void setLineMark(int line)
          setLineMark Sets the line do demarcate on the gutter
 void setTextComponent(javax.swing.JEditorPane tc)
          setTextComponent() Sets th etext component the gutter models itself after
 void updateLines()
          updateLines Recounts the number of lines in the Document, and updates the lines list to have the new last few lines.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Constructor Detail

JESGutter

public JESGutter(javax.swing.JEditorPane tc,
                 java.awt.Font f)
Class constructor Creates a Gutter object with a given TextComponent.

Method Detail

setLine

public void setLine(int line,
                    int indent,
                    int height)
setLine Adds a line to the gutter. includes indentation information and y height.

Parameters:
line - The line number being added
indent - The indentation level of the line
height - The Y location information of the bottom of the line

setDocument

public void setDocument(javax.swing.text.Document doc)
setDocument Sets the document for the gutter to listen for changes in. When a change occurs check to see if a newline was added or removed.

Parameters:
doc - The document to listen to

setTextComponent

public void setTextComponent(javax.swing.JEditorPane tc)
setTextComponent() Sets th etext component the gutter models itself after

Parameters:
tc - The text component

setLineMark

public void setLineMark(int line)
setLineMark Sets the line do demarcate on the gutter


removeLineMark

public void removeLineMark()
removeLineMark Removes the line demarcation from the gutter


paint

public void paint(java.awt.Graphics g)
paint Paints gutter information to the graphics object

Overrides:
paint in class javax.swing.JComponent

updateLines

public void updateLines()
updateLines Recounts the number of lines in the Document, and updates the lines list to have the new last few lines.


changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent e)
Method: changedUpdate Gives notification that an attribute or set of attributes changed.

Specified by:
changedUpdate in interface javax.swing.event.DocumentListener
Parameters:
e - The DocumentEvent describing the change

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent e)
Method: insertUpdate Gives notification that there was text inserted into the document.

Specified by:
insertUpdate in interface javax.swing.event.DocumentListener
Parameters:
e - the DocumentEvent describing the insert

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent e)
Method: removeUpdate Gives notifications that text was removed from the document.

Specified by:
removeUpdate in interface javax.swing.event.DocumentListener
Parameters:
e - the DocumentEvent describing the removal