Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.jface.text.source
Class AbstractRulerColumn


java.lang.Object
  extended by 
org.eclipse.jface.text.source.AbstractRulerColumn
All Implemented Interfaces:
IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension

public abstract class AbstractRulerColumn
extends Object
implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension

Abstract implementation of a IVerticalRulerColumn that uses a Canvas to draw the ruler contents and which handles scrolling and mouse selection.

Painting

Subclasses can hook into the paint loop at three levels:

Invalidation

Subclasses may call redraw() to mark the entire ruler as needing to be redrawn. Alternatively, use redraw(ILineRange) to only invalidate a certain line range, for example due to changes to the display model.

Configuration

Subclasses can set the following properties. Setting them may trigger redrawing.

Since:
3.3

Constructor Summary
protected AbstractRulerColumn ()
          Creates a new ruler.
 
Method Summary
 void addVerticalRulerListener ( IVerticalRulerListener listener)
          Registers a vertical ruler listener to be informed if an annotation gets selected on the vertical ruler.
protected   Color computeBackground (int line)
          Returns the background color drawn for a certain line by paintLine(GC, int, int, int, int).
protected   Color computeForeground (int line)
          Returns the foreground color drawn for a certain line by paintLine(GC, int, int, int, int).
protected   String computeText (int line)
          Returns the text to be drawn for a certain line by paintLine(GC, int, int, int, int), null for no text.
  Control createControl ( CompositeRuler parentRuler, Composite parentControl)
          Creates the column's SWT control.
 void dispose ()
          Disposes this ruler column.
protected  int getCanvasStyle ()
          Returns the SWT style bits used when creating the ruler canvas.
  Control getControl ()
          Returns the column's SWT control.
protected   Color getDefaultBackground ()
          Returns the background color.
protected   Font getFont ()
          Returns the current font.
  IAnnotationHover getHover ()
          Returns the hover for this vertical ruler (column).
 int getLineOfLastMouseButtonActivity ()
          Returns the line number of the last mouse button activity.
  IAnnotationModel getModel ()
          Returns the model currently used by the receiver.
protected   CompositeRuler getParentRuler ()
          Returns the parent ruler, null before createControl(CompositeRuler, Composite) has been called.
protected  int getTextInset ()
          Returns the text inset for text drawn by paintLine(GC, int, int, int, int).
 int getWidth ()
          Returns the width of this column's control.
protected  void paint ( GC gc, ILineRange lines)
          Paints the ruler.
protected  void paintLine ( GC gc, int modelLine, int widgetLine, int linePixel, int lineHeight)
          Paints the ruler representation of a single line.
 void redraw ()
          Redraws this column.
protected  void redraw ( ILineRange lines)
          Marks the region covered by lines as needing to be redrawn.
 void removeVerticalRulerListener ( IVerticalRulerListener listener)
          Removes a previously registered listener.
protected  void setDefaultBackground ( Color background)
          Sets the default background color for this column.
 void setFont ( Font font)
          Sets the font of this ruler column.
protected  void setHover ( IAnnotationHover hover)
          Sets the annotation hover.
 void setModel ( IAnnotationModel model)
          Associates an annotation model with this ruler column.
protected  void setTextInset (int textInset)
          Sets the text inset (padding) used to draw text in paintLine(GC, int, int, int, int).
protected  void setWidth (int width)
          The new width in pixels.
 int toDocumentLineNumber (int y_coordinate)
          Translates a y-coordinate of the ruler's SWT control into the according line number of the document of the connected text viewer.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractRulerColumn

protected AbstractRulerColumn()
Creates a new ruler.

Method Detail

createControl

public 
Control createControl(
CompositeRuler parentRuler,
                             
Composite parentControl)
Description copied from interface: IVerticalRulerColumn
Creates the column's SWT control.

Specified by:
createControl in interface IVerticalRulerColumn
Parameters:
parentRuler - the parent ruler of this column
parentControl - the control of the parent ruler
Returns:
the column's SWT control

getCanvasStyle

protected int getCanvasStyle()
Returns the SWT style bits used when creating the ruler canvas.

The default implementation returns SWT.NO_BACKGROUND.

Clients may reimplement this method to create a canvas with their desired style bits.

Returns:
the SWT style bits, or SWT.NONE if none

getControl

public final 
Control getControl()
Description copied from interface: IVerticalRulerColumn
Returns the column's SWT control.

Specified by:
getControl in interface IVerticalRulerColumn
Specified by:
getControl in interface IVerticalRulerInfo
Returns:
the column's SWT control

setWidth

protected final void setWidth(int width)
The new width in pixels. The DEFAULT_WIDTH constant specifies the default width.

Parameters:
width - the new width

getWidth

public final int getWidth()
Description copied from interface: IVerticalRulerColumn
Returns the width of this column's control.

Specified by:
getWidth in interface IVerticalRulerColumn
Specified by:
getWidth in interface IVerticalRulerInfo
Returns:
the width of this column's control

getParentRuler

protected final 
CompositeRuler getParentRuler()
Returns the parent ruler, null before createControl(CompositeRuler, Composite) has been called.

Returns:
the parent ruler or null

setFont

public final void setFont(
Font font)
Sets the font of this ruler column.

Specified by:
setFont in interface IVerticalRulerColumn
Parameters:
font - the font or null to use the default font

getFont

protected final 
Font getFont()
Returns the current font. If a font has not been explicitly set, the widget's font is returned.

Returns:
the font used to render text on the ruler.

setTextInset

protected final void setTextInset(int textInset)
Sets the text inset (padding) used to draw text in paintLine(GC, int, int, int, int).

Parameters:
textInset - the new text inset

getTextInset

protected final int getTextInset()
Returns the text inset for text drawn by paintLine(GC, int, int, int, int). The DEFAULT_TEXT_INSET constant specifies the default inset in pixels.

Returns:
the text inset for text

setModel

public void setModel(
IAnnotationModel model)
Description copied from interface: IVerticalRulerColumn
Associates an annotation model with this ruler column. A value null is acceptable and clears the ruler.

Specified by:
setModel in interface IVerticalRulerColumn
Parameters:
model - the new annotation model, may be null

getModel

public final 
IAnnotationModel getModel()
Description copied from interface: IVerticalRulerInfoExtension
Returns the model currently used by the receiver.

Specified by:
getModel in interface IVerticalRulerInfoExtension
Returns:
the model of the receiver, or null if no model is installed.

setDefaultBackground

protected final void setDefaultBackground(
Color background)
Sets the default background color for this column. The default background is used as default implementation of computeBackground(int) and also to paint the area of the ruler that does not correspond to any lines (when the viewport is not entirely filled with lines).

Parameters:
background - the default background color, null to use the text widget's background

getDefaultBackground

protected final 
Color getDefaultBackground()
Returns the background color. May return null if the system is shutting down.

Returns:
the background color

setHover

protected final void setHover(
IAnnotationHover hover)
Sets the annotation hover.

Parameters:
hover - the annotation hover, null for no hover

getHover

public 
IAnnotationHover getHover()
Description copied from interface: IVerticalRulerInfoExtension
Returns the hover for this vertical ruler (column).

Specified by:
getHover in interface IVerticalRulerInfoExtension
Returns:
the hover for this column

dispose

public void dispose()
Disposes this ruler column.

Subclasses may extend this method.

Clients who created this column are responsible to call this method once the column is no longer used.


redraw

public final void redraw()
Description copied from interface: IVerticalRulerColumn
Redraws this column.

Specified by:
redraw in interface IVerticalRulerColumn

redraw

protected final void redraw(
ILineRange lines)
Marks the region covered by lines as needing to be redrawn.

Parameters:
lines - the lines to be redrawn in document coordinates

paint

protected void paint(
GC gc,
                     
ILineRange lines)
Paints the ruler. Note that lines reference widget line indices, and that lines may not cover the entire viewport, but only the lines that need to be painted. The lines may not be entirely visible.

Subclasses may replace or extend. The default implementation calls paintLine(GC, int, int, int, int) for every visible line.

Parameters:
gc - the graphics context to paint on
lines - the lines to paint in widget coordinates

paintLine

protected void paintLine(
GC gc,
                         int modelLine,
                         int widgetLine,
                         int linePixel,
                         int lineHeight)
Paints the ruler representation of a single line.

Subclasses may replace or extend. The default implementation draws the text obtained by computeText(int) in the foreground color and fills the entire width using the background color. The text is drawn getTextInset() pixels to the right of the left border.

Parameters:
gc - the graphics context to paint on
modelLine - the model line (based on document coordinates)
widgetLine - the line in the text widget corresponding to modelLine
linePixel - the first y-pixel of the widget line
lineHeight - the line height in pixels

computeText

protected 
String computeText(int line)
Returns the text to be drawn for a certain line by paintLine(GC, int, int, int, int), null for no text. The default implementation returns null.

Subclasses may replace or extend.

Parameters:
line - the document line number
Returns:
the text to be drawn for the given line, null for no text

computeBackground

protected 
Color computeBackground(int line)
Returns the background color drawn for a certain line by paintLine(GC, int, int, int, int). The default implementation returns getDefaultBackground().

Subclasses may replace or extend.

Parameters:
line - the document line number
Returns:
the background color for drawn for the given line

computeForeground

protected 
Color computeForeground(int line)
Returns the foreground color drawn for a certain line by paintLine(GC, int, int, int, int). The default implementation returns a SWT.COLOR_DARK_GRAY color.

Subclasses may replace or extend.

Parameters:
line - the document line number
Returns:
the foreground color for drawn for the given line

getLineOfLastMouseButtonActivity

public final int getLineOfLastMouseButtonActivity()
Description copied from interface: IVerticalRulerInfo
Returns the line number of the last mouse button activity. Based on the input document of the connected text viewer.

Specified by:
getLineOfLastMouseButtonActivity in interface IVerticalRulerInfo
Returns:
the line number of the last mouse button activity or -1 if the last mouse activity does not correspond to a valid document line

toDocumentLineNumber

public final int toDocumentLineNumber(int y_coordinate)
Description copied from interface: IVerticalRulerInfo
Translates a y-coordinate of the ruler's SWT control into the according line number of the document of the connected text viewer.

Specified by:
toDocumentLineNumber in interface IVerticalRulerInfo
Parameters:
y_coordinate - a y-coordinate of the ruler's SWT control
Returns:
the line number of that coordinate or -1 if that coordinate does not correspond to a valid document line

addVerticalRulerListener

public void addVerticalRulerListener(
IVerticalRulerListener listener)
Description copied from interface: IVerticalRulerInfoExtension
Registers a vertical ruler listener to be informed if an annotation gets selected on the vertical ruler.

Specified by:
addVerticalRulerListener in interface IVerticalRulerInfoExtension
Parameters:
listener - the listener to be informed

removeVerticalRulerListener

public void removeVerticalRulerListener(
IVerticalRulerListener listener)
Description copied from interface: IVerticalRulerInfoExtension
Removes a previously registered listener. If listener is not registered with the receiver, calling this method has no effect.

Specified by:
removeVerticalRulerListener in interface IVerticalRulerInfoExtension
Parameters:
listener - the listener to be removed

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire