JIDE 3.5.15

com.jidesoft.margin
Class AbstractRowMargin

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.margin.AbstractRowMargin
All Implemented Interfaces:
Margin, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener
Direct Known Subclasses:
AbstractLineMargin, RowNumberMargin

public abstract class AbstractRowMargin
extends AbstractMargin
implements MouseListener, MouseMotionListener

An abstract class which is the base of any row margins. In this kind of row margins, the margin is painted row by row. If a margin needs to paint something that covers several rows, it doesn't belong to AbstractRowMargin. Example for this kind of margins are row or line number margin which paints the row index.

AbstractRowMargin implements paintMargin(java.awt.Graphics) in AbstractMargin and added a new abstract method paintRowMargin(java.awt.Graphics, java.awt.Rectangle, int) to paint the margin for a particular row. In addition, it allows you to provide a tooltip for each line by implementing getToolTipText(int).

AbstractRowMargin works with RowMarginPainter so that you can customize the painting. You can use addRowMarginPainter(RowMarginPainter) and removeRowMarginPainter(RowMarginPainter) to customize the painter. Note the painter has a layer concept so you can choose the layer value to decide the painting order. Any painters whose layer value lowered than RowMarginPainter.LAYER_DEFAULT_INDEX will be painted first, then the default row margin is painted. At last, any painters whose layer value are higher than RowMarginPainter.LAYER_DEFAULT_INDEX will be painted

See Also:
Serialized Form

Nested Class Summary
 
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  List<RowMarginPainter> _rowMarginPainters
           
 
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
AbstractRowMargin(RowMarginSupport rowMarginSupport)
           
 
Method Summary
 void addRowMarginPainter(RowMarginPainter painter)
           
protected  List<RowMarginPainter> getRowMarginPainters()
           
 Point getToolTipLocation(MouseEvent event)
          Returns the tooltip location in this component's coordinate system.
abstract  String getToolTipText(int row)
          Gets the tool tip text from the view line index.
 String getToolTipText(MouseEvent event)
          Returns the string to be used as the tooltip for event.
 void mouseClicked(MouseEvent e)
          Any mouse click will select the line in the code editor.
 void mouseDragged(MouseEvent e)
           
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mouseMoved(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
 void paintMargin(Graphics g)
          Paints the margin.
abstract  void paintRowMargin(Graphics g, Rectangle rect, int row)
          Paint line margin.
 void removeRowMarginPainter(RowMarginPainter painter)
           
 
Methods inherited from class com.jidesoft.margin.AbstractMargin
addMarginPainter, createModelChangedCallback, createRepaintCallback, getMarginComponent, getMarginPainters, getMarginSupport, getPreferredSize, invalidate, isClickToSelect, paintBackground, 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, 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
getPreferredWidth
 

Field Detail

_rowMarginPainters

protected List<RowMarginPainter> _rowMarginPainters
Constructor Detail

AbstractRowMargin

public AbstractRowMargin(RowMarginSupport rowMarginSupport)
Method Detail

paintMargin

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

Specified by:
paintMargin in interface Margin

addRowMarginPainter

public void addRowMarginPainter(RowMarginPainter painter)

removeRowMarginPainter

public void removeRowMarginPainter(RowMarginPainter painter)

getRowMarginPainters

protected List<RowMarginPainter> getRowMarginPainters()

getToolTipLocation

public Point getToolTipLocation(MouseEvent event)
Returns the tooltip location in this component's coordinate system. If null is returned, Swing will choose a location. The default implementation returns null.

Overrides:
getToolTipLocation in class JComponent
Parameters:
event - the MouseEvent that caused the ToolTipManager to show the tooltip
Returns:
always returns null

getToolTipText

public String getToolTipText(MouseEvent event)
Returns the string to be used as the tooltip for event. By default this returns any string set using setToolTipText. If a component provides more extensive API to support differing tooltips at different locations, this method should be overridden.

Overrides:
getToolTipText in class JComponent
Parameters:
event - the mouse event.

paintRowMargin

public abstract void paintRowMargin(Graphics g,
                                    Rectangle rect,
                                    int row)
Paint line margin.

Parameters:
g - the Graphics instance
rect - the rectangle to paint the line margin
row - the view line index to be painted

getToolTipText

public abstract String getToolTipText(int row)
Gets the tool tip text from the view line index.

Parameters:
row - the view line index
Returns:
the tool tip text.

mouseClicked

public void mouseClicked(MouseEvent e)
Any mouse click will select the line in the code editor.

Specified by:
mouseClicked in interface MouseListener
Parameters:
e - the mouse event

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

JIDE 3.5.15