Eclipse Draw2d
2.1

org.eclipse.draw2d
Class SchemeBorder

java.lang.Object
  |
  +--org.eclipse.draw2d.AbstractBorder
        |
        +--org.eclipse.draw2d.SchemeBorder
All Implemented Interfaces:
Border, ColorConstants
Direct Known Subclasses:
ButtonBorder, SimpleEtchedBorder, SimpleLoweredBorder, SimpleRaisedBorder

public class SchemeBorder
extends AbstractBorder
implements ColorConstants

SchemeBorder allows the creation of borders based on Schemes. A Scheme is a class whose only purpose is to carry border specific information. SchemeBorder renders the border based on the information given by the Scheme set to it.


Nested Class Summary
static class SchemeBorder.Scheme
          Holds a set of information about a border, which can be changed to create a wide range of schemes.
static interface SchemeBorder.SCHEMES
          Interface which defines some commonly used schemes for the border.
 
Field Summary
protected static Color[] DARKER_LIGHTER
           
protected static Color[] DARKEST_DARKER
           
protected static Color[] LIGHTER_DARKER
           
protected  SchemeBorder.Scheme scheme
           
 
Fields inherited from class org.eclipse.draw2d.AbstractBorder
tempRect
 
Fields inherited from interface org.eclipse.draw2d.ColorConstants
black, blue, button, buttonDarker, buttonDarkest, buttonLightest, cyan, darkBlue, darkGray, darkGreen, gray, green, lightBlue, lightGray, lightGreen, listBackground, listForeground, menuBackground, menuBackgroundSelected, menuForeground, menuForegroundSelected, orange, red, titleBackground, titleForeground, titleGradient, titleInactiveBackground, titleInactiveForeground, titleInactiveGradient, tooltipBackground, tooltipForeground, white, yellow
 
Constructor Summary
protected SchemeBorder()
          Constructs a default SchemeBorder with no scheme defined.
  SchemeBorder(SchemeBorder.Scheme scheme)
          Constructs a SchemeBorder with the Scheme given as input.
 
Method Summary
 Insets getInsets(IFigure figure)
          Returns the Insets for this Border for the given Figure.
protected  SchemeBorder.Scheme getScheme()
          Returns the scheme used by this border.
 boolean isOpaque()
          Returns true if the Border completely fills the region defined in paint(IFigure, Graphics, Insets).
protected  void paint(Graphics graphics, IFigure fig, Insets insets, Color[] tl, Color[] br)
           
 void paint(IFigure figure, Graphics g, Insets insets)
          Paints the border.
protected  void setScheme(SchemeBorder.Scheme scheme)
          Sets the Scheme for this border to the Scheme given as input.
 
Methods inherited from class org.eclipse.draw2d.AbstractBorder
getPaintRectangle, getPreferredSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scheme

protected SchemeBorder.Scheme scheme

DARKEST_DARKER

protected static final Color[] DARKEST_DARKER

LIGHTER_DARKER

protected static final Color[] LIGHTER_DARKER

DARKER_LIGHTER

protected static final Color[] DARKER_LIGHTER
Constructor Detail

SchemeBorder

protected SchemeBorder()
Constructs a default SchemeBorder with no scheme defined.

Since:
2.0

SchemeBorder

public SchemeBorder(SchemeBorder.Scheme scheme)
Constructs a SchemeBorder with the Scheme given as input.

Since:
2.0
Method Detail

getInsets

public Insets getInsets(IFigure figure)
Description copied from interface: Border
Returns the Insets for this Border for the given Figure.

Specified by:
getInsets in interface Border
Parameters:
figure - The figure this border belongs to
Returns:
The insets

getScheme

protected SchemeBorder.Scheme getScheme()
Returns the scheme used by this border.

Returns:
Scheme used by this border.
Since:
2.0

isOpaque

public boolean isOpaque()
Description copied from interface: Border
Returns true if the Border completely fills the region defined in Border.paint(IFigure, Graphics, Insets).

Specified by:
isOpaque in interface Border
Overrides:
isOpaque in class AbstractBorder
See Also:
Border.isOpaque()

setScheme

protected void setScheme(SchemeBorder.Scheme scheme)
Sets the Scheme for this border to the Scheme given as input.

Parameters:
scheme - Scheme for this border.
Since:
2.0
See Also:
getScheme()

paint

public void paint(IFigure figure,
                  Graphics g,
                  Insets insets)
Description copied from interface: Border
Paints the border. The border should paint inside figure's IFigure.getBounds(), inset by the parameter insets. The border generally should not paint inside its own insets. More specifically, Border b should paint inside the rectangle: figure.getBounds().getCropped(insets) and outside of the rectangle: figure.getBounds().getCropped(insets).getCropped(getInsets()) where inside is defined as Rectangle.contains(int, int).

Specified by:
paint in interface Border
Parameters:
figure - The figure this border belongs to
g - The graphics object used for painting
insets - The insets

paint

protected void paint(Graphics graphics,
                     IFigure fig,
                     Insets insets,
                     Color[] tl,
                     Color[] br)

Eclipse Draw2d
2.1

Copyright (c) IBM Corp. and others 2000, 2003. All Rights Reserved.