org.eclipse.swt.widgets
Class Scrollable

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
All Implemented Interfaces:
Drawable
Direct Known Subclasses:
Composite, List, ListBox, ListView, SortedList, Text

public abstract class Scrollable
extends Control

This class is the abstract superclass of all classes which represent controls that have standard scroll bars.

Styles:
H_SCROLL, V_SCROLL
Events:
(none)

IMPORTANT: This class is intended to be subclassed only within the SWT implementation.


Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Control
enableTraverse, internal_parent
 
Fields inherited from class org.eclipse.swt.widgets.Widget
internal_handle, internal_style
 
Constructor Summary
Scrollable(Composite parent, int style)
          Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.
 
Method Summary
 Point computeSize(int wHint, int hHint, boolean changed)
          Returns the preferred size of the receiver.
 Rectangle computeTrim(int x, int y, int width, int height)
          Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area.
 Rectangle getClientArea()
          Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings").
 ScrollBar getHorizontalBar()
          Returns the receiver's horizontal scroll bar if it has one, and null if it does not.
 ScrollBar getVerticalBar()
          Returns the receiver's vertical scroll bar if it has one, and null if it does not.
protected  int internal_getNativeStyle()
           
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addKeyListener, addMouseListener, addMouseMoveListener, addPaintListener, addTraverseListener, allowTraverseByArrowKey, computeSize, dispose, forceFocus, getBackground, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getParent, getShell, getSize, getToolTipText, getVisible, internal_copyArea, internal_dispose_GC, internal_getBounds, internal_getDefaultClipping, internal_new_GC, isEnabled, isEnableTraverse, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removePaintListener, removeTraverseListener, setBackground, setBounds, setBounds, setCapture, setEnabled, setFocus, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverseByArrowKey, traverseGroup, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkSubclass, checkWidget, getData, getData, getDisplay, getStyle, internal_createHandle, internal_sendEvent, isDisposed, isListening, notifyListeners, removeDisposeListener, removeInternalFilter, removeListener, removeListener, sendEvent, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Scrollable

public Scrollable(Composite parent,
                  int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
parent - a composite control which will be the parent of the new instance (cannot be null)
style - the style of control to construct
Throws:
java.lang.IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the parent is null
SWTException -
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
SWT.H_SCROLL, SWT.V_SCROLL, Widget.checkSubclass(), Widget.getStyle()
Method Detail

computeTrim

public Rectangle computeTrim(int x,
                             int y,
                             int width,
                             int height)
Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area.

In other words, it returns a rectangle such that, if the receiver's bounds were set to that rectangle, the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings") would be the rectangle described by the arguments (relative to the receiver's parent).

Parameters:
x - the desired x coordinate of the client area
y - the desired y coordinate of the client area
width - the desired width of the client area
height - the desired height of the client area
Returns:
the required bounds to produce the given client area
Throws:
SWTException -
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
getClientArea()

getClientArea

public Rectangle getClientArea()
Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings").

Returns:
the client area
Throws:
SWTException -
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
computeTrim(int, int, int, int)

computeSize

public Point computeSize(int wHint,
                         int hHint,
                         boolean changed)
Description copied from class: Control
Returns the preferred size of the receiver.

The preferred size of a control is the size that it would best be displayed at. The width hint and height hint arguments allow the caller to ask a control questions such as "Given a particular width, how high does the control need to be to show all of the contents?" To indicate that the caller does not wish to constrain a particular dimension, the constant SWT.DEFAULT is passed for the hint.

If the changed flag is true, it indicates that the receiver's contents have changed, therefore any caches that a layout manager containing the control may have been keeping need to be flushed. When the control is resized, the changed flag will be false, so layout manager caches can be retained.

Overrides:
computeSize in class Control
Parameters:
wHint - the width hint (can be SWT.DEFAULT)
hHint - the height hint (can be SWT.DEFAULT)
changed - true if the control's contents have changed, and false otherwise
Returns:
the preferred size of the control.
See Also:
Layout, Control.getBorderWidth(), Control.getBounds(), Control.getSize(), Control.pack(boolean), "computeTrim, getClientArea for controls that implement them"

getHorizontalBar

public ScrollBar getHorizontalBar()
Returns the receiver's horizontal scroll bar if it has one, and null if it does not.

Returns:
the horizontal scroll bar (or null)
Throws:
SWTException -
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

internal_getNativeStyle

protected int internal_getNativeStyle()
Overrides:
internal_getNativeStyle in class Control

getVerticalBar

public ScrollBar getVerticalBar()
Returns the receiver's vertical scroll bar if it has one, and null if it does not.

Returns:
the vertical scroll bar (or null)
Throws:
SWTException -
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver