Class Scrollable

All Implemented Interfaces:
Drawable
Direct Known Subclasses:
Composite, List, 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.

See Also:
  • Field Details

    • scrolledHandle

      long scrolledHandle
    • horizontalBar

      ScrollBar horizontalBar
    • verticalBar

      ScrollBar verticalBar
    • RESIZE_ON_GETCLIENTAREA

      static final boolean RESIZE_ON_GETCLIENTAREA
      See bug 484682
  • Constructor Details

    • Scrollable

      Scrollable()
      Prevents uninitialized instances from being created outside the package.
    • 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:
      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:
  • Method Details

    • clientHandle

      long clientHandle()
    • 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:
    • computeTrimInPixels

      Rectangle computeTrimInPixels(int x, int y, int width, int height)
    • createScrollBar

      ScrollBar createScrollBar(int style)
    • createWidget

      void createWidget(int index)
      Overrides:
      createWidget in class Control
    • updateBackgroundMode

      void updateBackgroundMode()
      Overrides:
      updateBackgroundMode in class Control
    • applyThemeBackground

      int applyThemeBackground()
      Returns:
    • 0 to remove THEME_BACKGROUND
    • 1 to apply THEME_BACKGROUND
    • otherwise don't change THEME_BACKGROUND state
    • deregister

      void deregister()
      Overrides:
      deregister in class Control
    • destroyScrollBar

      void destroyScrollBar(ScrollBar bar)
    • getBorderWidthInPixels

      int getBorderWidthInPixels()
      Overrides:
      getBorderWidthInPixels in class Control
    • 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:
    • getClientAreaInPixels

      Rectangle getClientAreaInPixels()
    • 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
    • getScrollbarsMode

      public int getScrollbarsMode()
      Returns the mode of the receiver's scrollbars. This will be bitwise OR of one or more of the constants defined in class SWT.
      • SWT.SCROLLBAR_OVERLAY - if receiver uses overlay scrollbars
      • SWT.NONE - otherwise
      Returns:
      the mode of scrollbars
      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
      Since:
      3.8
      See Also:
    • setScrollbarsMode

      public void setScrollbarsMode(int mode)
      Sets the mode of the receiver's scrollbars. This will be bitwise OR of one or more of the constants defined in class SWT.
      • SWT.SCROLLBAR_OVERLAY - if receiver uses overlay scrollbars
      • SWT.NONE - otherwise
      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
      Since:
      3.126
      See Also:
    • 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
    • gtk_draw

      long gtk_draw(long widget, long cairo)
      Overrides:
      gtk_draw in class Control
    • gtk_scroll_event

      long gtk_scroll_event(long widget, long eventPtr)
      Overrides:
      gtk_scroll_event in class Control
    • hScrollBarWidth

      int hScrollBarWidth()
    • reskinChildren

      void reskinChildren(int flags)
      Overrides:
      reskinChildren in class Widget
    • sendLeaveNotify

      boolean sendLeaveNotify()
      Overrides:
      sendLeaveNotify in class Control
    • setOrientation

      void setOrientation(boolean create)
      Overrides:
      setOrientation in class Control
    • setScrollBarVisible

      boolean setScrollBarVisible(ScrollBar bar, boolean visible)
    • redrawBackgroundImage

      void redrawBackgroundImage()
    • redrawWidget

      void redrawWidget(int x, int y, int width, int height, boolean redrawAll, boolean all, boolean trim)
      Overrides:
      redrawWidget in class Control
    • register

      void register()
      Overrides:
      register in class Control
    • releaseHandle

      void releaseHandle()
      Overrides:
      releaseHandle in class Control
    • releaseChildren

      void releaseChildren(boolean destroy)
      Overrides:
      releaseChildren in class Widget
    • resizeHandle

      void resizeHandle(int width, int height)
      Overrides:
      resizeHandle in class Control
    • showWidget

      void showWidget()
      Overrides:
      showWidget in class Control
    • topHandle

      long topHandle()
      Overrides:
      topHandle in class Control
    • updateScrollBarValue

      void updateScrollBarValue(ScrollBar bar)
    • vScrollBarWidth

      int vScrollBarWidth()
    • hScrollbarSize

      private Point hScrollbarSize()
    • vScrollBarSize

      private Point vScrollBarSize()
    • scrollBarSize

      private Point scrollBarSize(long scrollBarHandle)