Draw2d
3.9.100.201405261516

org.eclipse.draw2d
Class FigureCanvas

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by org.eclipse.swt.widgets.Canvas
                      extended by org.eclipse.draw2d.FigureCanvas
All Implemented Interfaces:
Drawable
Direct Known Subclasses:
MultiLineLabel

public class FigureCanvas
extends Canvas

A scrolling Canvas that contains Figures viewed through a Viewport. Call setContents(IFigure) to specify the root of the tree of Figures to be viewed through the Viewport.

Normal procedure for using a FigureCanvas:

  1. Create a FigureCanvas.
  2. Create a Draw2d Figure and call setContents(IFigure). This Figure will be the top-level Figure of the Draw2d application.
Required Styles (when using certain constructors):
V_SCROLL, H_SCROLL, NO_REDRAW_RESIZE
Optional Styles:
DOUBLE_BUFFERED, RIGHT_TO_LEFT, LEFT_TO_RIGHT, NO_BACKGROUND, BORDER

Note: Only one of the styles RIGHT_TO_LEFT, LEFT_TO_RIGHT may be specified.


Field Summary
static int ALWAYS
          Always show scrollbar
static int AUTOMATIC
          Automatically show scrollbar when needed
static int NEVER
          Never show scrollbar
 
Fields inherited from class org.eclipse.swt.widgets.Control
view
 
Constructor Summary
FigureCanvas(Composite parent)
          Creates a new FigureCanvas with the given parent and the DEFAULT_STYLES.
FigureCanvas(Composite parent, int style)
          Constructor which applies the default styles plus any optional styles indicated.
FigureCanvas(Composite parent, int style, LightweightSystem lws)
          Constructor
FigureCanvas(Composite parent, LightweightSystem lws)
          Constructs a new FigureCanvas with the given parent and LightweightSystem, using the DEFAULT_STYLES.
FigureCanvas(int style, Composite parent)
          Constructor which uses the given styles verbatim.
FigureCanvas(int style, Composite parent, LightweightSystem lws)
          Constructor taking a lightweight system and SWT style, which is used verbatim.
 
Method Summary
 Point computeSize(int wHint, int hHint, boolean changed)
           
 IFigure getContents()
           
 Font getFont()
           
 int getHorizontalScrollBarVisibility()
           
 LightweightSystem getLightweightSystem()
           
 int getVerticalScrollBarVisibility()
           
 Viewport getViewport()
          Returns the Viewport.
 void scrollSmoothTo(int x, int y)
          Scrolls in an animated way to the new x and y location.
 void scrollTo(int x, int y)
          Scrolls the contents to the new x and y location.
 void scrollToX(int hOffset)
          Scrolls the contents horizontally so that they are offset by hOffset.
 void scrollToY(int vOffset)
          Scrolls the contents vertically so that they are offset by vOffset.
 void setBorder(Border border)
          Sets the given border on the LightweightSystem's root figure.
 void setContents(IFigure figure)
          Sets the contents of the Viewport.
 void setFont(Font font)
           
 void setHorizontalScrollBarVisibility(int v)
          Sets the horizontal scrollbar visibility.
 void setScrollBarVisibility(int both)
          Sets both the horizontal and vertical scrollbar visibility to the given value.
 void setVerticalScrollBarVisibility(int v)
          Sets the vertical scrollbar visibility.
 void setViewport(Viewport vp)
          Sets the Viewport.
 
Methods inherited from class org.eclipse.swt.widgets.Canvas
drawBackground, getCaret, getIME, scroll, setCaret, setIME
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NEVER

public static int NEVER
Never show scrollbar


AUTOMATIC

public static int AUTOMATIC
Automatically show scrollbar when needed


ALWAYS

public static int ALWAYS
Always show scrollbar

Constructor Detail

FigureCanvas

public FigureCanvas(Composite parent)
Creates a new FigureCanvas with the given parent and the DEFAULT_STYLES.

Parameters:
parent - the parent

FigureCanvas

public FigureCanvas(Composite parent,
                    int style)
Constructor which applies the default styles plus any optional styles indicated.

Parameters:
parent - the parent composite
style - see the class javadoc for optional styles
Since:
3.1

FigureCanvas

public FigureCanvas(int style,
                    Composite parent)
Constructor which uses the given styles verbatim. Certain styles must be used with this class. Refer to the class javadoc for more details.

Parameters:
style - see the class javadoc for required and optional styles
parent - the parent composite
Since:
3.4

FigureCanvas

public FigureCanvas(Composite parent,
                    LightweightSystem lws)
Constructs a new FigureCanvas with the given parent and LightweightSystem, using the DEFAULT_STYLES.

Parameters:
parent - the parent
lws - the LightweightSystem

FigureCanvas

public FigureCanvas(int style,
                    Composite parent,
                    LightweightSystem lws)
Constructor taking a lightweight system and SWT style, which is used verbatim. Certain styles must be used with this class. Refer to the class javadoc for more details.

Parameters:
style - see the class javadoc for required and optional styles
parent - the parent composite
lws - the LightweightSystem
Since:
3.4

FigureCanvas

public FigureCanvas(Composite parent,
                    int style,
                    LightweightSystem lws)
Constructor

Parameters:
parent - the parent composite
style - look at class javadoc for valid styles
lws - the lightweight system
Since:
3.1
Method Detail

computeSize

public Point computeSize(int wHint,
                         int hHint,
                         boolean changed)
Overrides:
computeSize in class Composite
See Also:
Composite.computeSize(int, int, boolean)

getContents

public IFigure getContents()
Returns:
the contents of the Viewport.

getFont

public Font getFont()
Overrides:
getFont in class Control
See Also:
Control.getFont()

getHorizontalScrollBarVisibility

public int getHorizontalScrollBarVisibility()
Returns:
the horizontal scrollbar visibility.

getLightweightSystem

public LightweightSystem getLightweightSystem()
Returns:
the LightweightSystem

getVerticalScrollBarVisibility

public int getVerticalScrollBarVisibility()
Returns:
the vertical scrollbar visibility.

getViewport

public Viewport getViewport()
Returns the Viewport. If it's null, a new one is created.

Returns:
the viewport

scrollSmoothTo

public void scrollSmoothTo(int x,
                           int y)
Scrolls in an animated way to the new x and y location.

Parameters:
x - the x coordinate to scroll to
y - the y coordinate to scroll to

scrollTo

public void scrollTo(int x,
                     int y)
Scrolls the contents to the new x and y location. If this scroll operation only consists of a vertical or horizontal scroll, a call will be made to scrollToY(int) or scrollToX(int), respectively, to increase performance.

Parameters:
x - the x coordinate to scroll to
y - the y coordinate to scroll to

scrollToX

public void scrollToX(int hOffset)
Scrolls the contents horizontally so that they are offset by hOffset.

Parameters:
hOffset - the new horizontal offset

scrollToY

public void scrollToY(int vOffset)
Scrolls the contents vertically so that they are offset by vOffset.

Parameters:
vOffset - the new vertical offset

setBorder

public void setBorder(Border border)
Sets the given border on the LightweightSystem's root figure.

Parameters:
border - The new border

setContents

public void setContents(IFigure figure)
Sets the contents of the Viewport.

Parameters:
figure - the new contents

setFont

public void setFont(Font font)
Overrides:
setFont in class Canvas
See Also:
Control.setFont(org.eclipse.swt.graphics.Font)

setHorizontalScrollBarVisibility

public void setHorizontalScrollBarVisibility(int v)
Sets the horizontal scrollbar visibility. Possible values are AUTOMATIC, ALWAYS, and NEVER.

Parameters:
v - the new visibility

setScrollBarVisibility

public void setScrollBarVisibility(int both)
Sets both the horizontal and vertical scrollbar visibility to the given value. Possible values are AUTOMATIC, ALWAYS, and NEVER.

Parameters:
both - the new visibility

setVerticalScrollBarVisibility

public void setVerticalScrollBarVisibility(int v)
Sets the vertical scrollbar visibility. Possible values are AUTOMATIC, ALWAYS, and NEVER.

Parameters:
v - the new visibility

setViewport

public void setViewport(Viewport vp)
Sets the Viewport. The given Viewport must use "fake" scrolling. That is, it must be constructed using new Viewport(true).

Parameters:
vp - the new viewport

Draw2d
3.9.100.201405261516

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