Package org.eclipse.draw2d
Class FigureCanvas
- All Implemented Interfaces:
Drawable
- Direct Known Subclasses:
MultiLineLabel
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:
- Create a FigureCanvas.
- 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
FieldsModifier and TypeFieldDescriptionstatic int
Always show scrollbarstatic int
Automatically show scrollbar when neededstatic int
Never show scrollbar -
Constructor Summary
ConstructorsConstructorDescriptionFigureCanvas
(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.FigureCanvas
(Composite parent) Creates a new FigureCanvas with the given parent and theDEFAULT_STYLES
.FigureCanvas
(Composite parent, int style) Constructor which applies the default styles plus any optional styles indicated.FigureCanvas
(Composite parent, int style, LightweightSystem lws) ConstructorFigureCanvas
(Composite parent, LightweightSystem lws) Constructs a new FigureCanvas with the given parent and LightweightSystem, using theDEFAULT_STYLES
. -
Method Summary
Modifier and TypeMethodDescriptioncomputeSize
(int wHint, int hHint, boolean changed) getFont()
int
int
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 byhOffset
.void
scrollToY
(int vOffset) Scrolls the contents vertically so that they are offset byvOffset
.void
Sets the given border on the LightweightSystem's root figure.void
setContents
(IFigure figure) Sets the contents of theViewport
.void
void
Sets the horizontal scrollbar visibility.void
setScrollBarVisibility
(int both) Sets both the horizontal and vertical scrollbar visibility to the given value.void
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, redraw, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toString
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar, setScrollbarsMode
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, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, 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, addTypedListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, getTypedListeners, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, removeTypedListener, reskin, setData, setData
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.swt.graphics.Drawable
isAutoScalable
-
Field Details
-
NEVER
public static int NEVERNever show scrollbar -
AUTOMATIC
public static int AUTOMATICAutomatically show scrollbar when needed -
ALWAYS
public static int ALWAYSAlways show scrollbar
-
-
Constructor Details
-
FigureCanvas
Creates a new FigureCanvas with the given parent and theDEFAULT_STYLES
.- Parameters:
parent
- the parent
-
FigureCanvas
Constructor which applies the default styles plus any optional styles indicated.- Parameters:
parent
- the parent compositestyle
- see the class javadoc for optional styles- Since:
- 3.1
-
FigureCanvas
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 stylesparent
- the parent composite- Since:
- 3.4
-
FigureCanvas
Constructs a new FigureCanvas with the given parent and LightweightSystem, using theDEFAULT_STYLES
.- Parameters:
parent
- the parentlws
- the LightweightSystem
-
FigureCanvas
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 stylesparent
- the parent compositelws
- the LightweightSystem- Since:
- 3.4
-
FigureCanvas
Constructor- Parameters:
parent
- the parent compositestyle
- look at class javadoc for valid styleslws
- the lightweight system- Since:
- 3.1
-
-
Method Details
-
computeSize
- Overrides:
computeSize
in classComposite
- See Also:
-
getContents
- Returns:
- the contents of the
Viewport
.
-
getFont
-
getHorizontalScrollBarVisibility
public int getHorizontalScrollBarVisibility()- Returns:
- the horizontal scrollbar visibility.
-
getLightweightSystem
- Returns:
- the LightweightSystem
-
getVerticalScrollBarVisibility
public int getVerticalScrollBarVisibility()- Returns:
- the vertical scrollbar visibility.
-
getViewport
Returns the Viewport. If it'snull
, 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 toy
- 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 toscrollToY(int)
orscrollToX(int)
, respectively, to increase performance.- Parameters:
x
- the x coordinate to scroll toy
- the y coordinate to scroll to
-
scrollToX
public void scrollToX(int hOffset) Scrolls the contents horizontally so that they are offset byhOffset
.- Parameters:
hOffset
- the new horizontal offset
-
scrollToY
public void scrollToY(int vOffset) Scrolls the contents vertically so that they are offset byvOffset
.- Parameters:
vOffset
- the new vertical offset
-
setBorder
Sets the given border on the LightweightSystem's root figure.- Parameters:
border
- The new border
-
setContents
Sets the contents of theViewport
.- Parameters:
figure
- the new contents
-
setFont
-
setHorizontalScrollBarVisibility
public void setHorizontalScrollBarVisibility(int v) - 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 areAUTOMATIC
,ALWAYS
, andNEVER
.- Parameters:
both
- the new visibility
-
setVerticalScrollBarVisibility
public void setVerticalScrollBarVisibility(int v) - Parameters:
v
- the new visibility
-
setViewport
Sets the Viewport. The given Viewport must use "fake" scrolling. That is, it must be constructed usingnew Viewport(true)
.- Parameters:
vp
- the new viewport
-