Eclipse Rich Ajax Platform
Release 1.3

org.eclipse.swt.custom
Class CTabFolder

java.lang.Object
  extended byorg.eclipse.swt.widgets.Widget
      extended byorg.eclipse.swt.widgets.Control
          extended byorg.eclipse.swt.widgets.Scrollable
              extended byorg.eclipse.swt.widgets.Composite
                  extended byorg.eclipse.swt.custom.CTabFolder
All Implemented Interfaces:
Adaptable

public class CTabFolder
extends Composite

Instances of this class implement the notebook user interface metaphor. It allows the user to select a notebook page from set of pages.

The item children that may be added to instances of this class must be of type CTabItem. Control children are created and then set into a tab item using CTabItem#setControl.

Note that although this class is a subclass of Composite, it does not make sense to set a layout on it.

IMPORTANT: This class is not intended to be subclassed.

Styles:
CLOSE, TOP, BOTTOM, FLAT, BORDER, SINGLE, MULTI
Events:
Selection
"CTabFolder2"

Note: Only one of the styles TOP and BOTTOM may be specified.


Implementation Status:

The SINGLE style is implemented but not fully functional.

Attributes, found in SWT, that are not supported

  • simple (treated as true)
  • BORDER and FLAT styles are not fully implemented
  • Since:
    1.0

    Field Summary
     int marginHeight
              marginHeight specifies the number of pixels of vertical margin that will be placed along the top and bottom edges of the form.
     int marginWidth
              marginWidth specifies the number of pixels of horizontal margin that will be placed along the left and right edges of the form.
     
    Constructor Summary
    CTabFolder(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
     void addCTabFolder2Listener(CTabFolder2Listener listener)
              Adds the listener to the collection of listeners who will be notified when a tab item is closed, minimized, maximized, restored, or to show the list of items that are not currently visible.
     void addSelectionListener(SelectionListener listener)
              Adds the listener to receive events.
     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.
     Object getAdapter(Class adapter)
              Implementation of the Adaptable interface.
     boolean getBorderVisible()
              Returns true if the receiver's border is visible.
     int getBorderWidth()
              Returns the receiver's border width.
     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").
     CTabItem getItem(int index)
              Return the tab that is located at the specified index.
     CTabItem getItem(Point pt)
              Gets the item at a point in the widget.
     int getItemCount()
              Return the number of tabs in the folder.
     CTabItem[] getItems()
              Return the tab items.
     boolean getMaximized()
              Returns true if the receiver is maximized.
     boolean getMaximizeVisible()
              Returns true if the maximize button is visible.
     boolean getMinimized()
              Returns true if the receiver is minimized.
     boolean getMinimizeVisible()
              Returns true if the minimize button is visible.
     int getMinimumCharacters()
              Returns the number of characters that will appear in a fully compressed tab.
     boolean getMRUVisible()
              Returns true if the receiver displays most recently used tabs and false otherwise.
     CTabItem getSelection()
              Return the selected tab item, or null if there is no selection.
     Color getSelectionBackground()
              Returns the receiver's selection background color.
     Color getSelectionForeground()
              Returns the receiver's selection foreground color.
     int getSelectionIndex()
              Return the index of the selected tab item, or -1 if there is no selection.
     boolean getSingle()
              Returns true if the CTabFolder only displays the selected tab and false if the CTabFolder displays multiple tabs.
     int getStyle()
              Returns the receiver's style information.
     int getTabHeight()
              Returns the height of the tab
     int getTabPosition()
              Returns the position of the tab.
     Control getTopRight()
              Returns the control in the top right corner of the tab folder.
     boolean getUnselectedCloseVisible()
              Returns true if the close button appears when the user hovers over an unselected tabs.
     boolean getUnselectedImageVisible()
              Returns true if an image appears in unselected tabs.
     int indexOf(CTabItem item)
              Return the index of the specified tab or -1 if the tab is not in the receiver.
     void removeCTabFolder2Listener(CTabFolder2Listener listener)
              Removes the listener.
     void removeSelectionListener(SelectionListener listener)
              Removes the listener.
     void setBorderVisible(boolean show)
              Toggle the visibility of the border
     void setFont(Font font)
              Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.
     void setLayout(Layout layout)
              Sets the layout which is associated with the receiver to be the argument which may be null.
     void setMaximized(boolean maximized)
              Sets the maximized state of the receiver.
     void setMaximizeVisible(boolean maximizeVisible)
              Marks the receiver's maximize button as visible if the argument is true, and marks it invisible otherwise.
     void setMinimized(boolean minimized)
              Marks the receiver's minimize button as visible if the argument is true, and marks it invisible otherwise.
     void setMinimizeVisible(boolean minimizeVisible)
              Marks the receiver's minimize button as visible if the argument is true, and marks it invisible otherwise.
     void setMinimumCharacters(int minimumCharacters)
              Sets the minimum number of characters that will be displayed in a fully compressed tab.
     void setMRUVisible(boolean show)
              When there is not enough horizontal space to show all the tabs, by default, tabs are shown sequentially from left to right in order of their index.
     void setSelection(CTabItem item)
              Set the selection to the tab at the specified item.
     void setSelection(int index)
              Set the selection to the tab at the specified index.
     void setSelectionBackground(Color color)
              Sets the receiver's selection background color to the color specified by the argument, or to the default system color for the control if the argument is null.
     void setSelectionBackground(Color[] colors, int[] percents)
              Specify a gradient of colours to be draw in the background of the selected tab.
     void setSelectionBackground(Color[] colors, int[] percents, boolean vertical)
              Specify a gradient of colours to be draw in the background of the selected tab.
     void setSelectionForeground(Color color)
              Set the foreground color of the selected tab.
     void setSingle(boolean single)
              Sets the number of tabs that the CTabFolder should display
     void setTabHeight(int height)
              Specify a fixed height for the tab items.
     void setTabPosition(int position)
              Specify whether the tabs should appear along the top of the folder or along the bottom of the folder.
     void setTopRight(Control control)
              Set the control that appears in the top right corner of the tab folder.
     void setTopRight(Control control, int alignment)
              Set the control that appears in the top right corner of the tab folder.
     void setUnselectedCloseVisible(boolean visible)
              Specify whether the close button appears when the user hovers over an unselected tabs.
     void setUnselectedImageVisible(boolean visible)
              Specify whether the image appears on unselected tabs.
     void showItem(CTabItem item)
              Shows the item.
     void showSelection()
              Shows the selection.
     
    Methods inherited from class org.eclipse.swt.widgets.Composite
    changed, computeSize, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayoutDeferred, setTabList
     
    Methods inherited from class org.eclipse.swt.widgets.Control
    addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addTraverseListener, computeSize, forceFocus, getBackground, getBackgroundImage, getBounds, getCursor, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, isEnabled, isFocusControl, isVisible, moveAbove, moveBelow, pack, pack, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCursor, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay
     
    Methods inherited from class org.eclipse.swt.widgets.Widget
    addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getListeners, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, setData, setData, toString
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     

    Field Detail

    marginWidth

    public int marginWidth
    marginWidth specifies the number of pixels of horizontal margin that will be placed along the left and right edges of the form. The default value is 0.


    marginHeight

    public int marginHeight
    marginHeight specifies the number of pixels of vertical margin that will be placed along the top and bottom edges of the form. The default value is 0.

    Constructor Detail

    CTabFolder

    public CTabFolder(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 widget which will be the parent of the new instance (cannot be null)
    style - the style of widget to construct
    Throws:
    IllegalArgumentException -
    SWTException -
    See Also:
    SWT.TOP, SWT.BOTTOM, (not fully implemented yet), (not fully implemented yet), (not fully implemented yet), SWT.MULTI, getStyle()
    Method Detail

    getItems

    public CTabItem[] getItems()
    Return the tab items.

    Returns:
    the tab items
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    getItem

    public CTabItem getItem(int index)
    Return the tab that is located at the specified index.

    Parameters:
    index - the index of the tab item
    Returns:
    the item at the specified index
    Throws:
    IllegalArgumentException -
    • ERROR_INVALID_RANGE - if the index is out of range
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    getItem

    public CTabItem getItem(Point pt)
    Gets the item at a point in the widget.

    Parameters:
    pt - the point in coordinates relative to the CTabFolder
    Returns:
    the item at a point or null
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed
    Since:
    1.2

    getItemCount

    public int getItemCount()
    Return the number of tabs in the folder.

    Returns:
    the number of tabs in the folder
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    indexOf

    public int indexOf(CTabItem item)
    Return the index of the specified tab or -1 if the tab is not in the receiver.

    Parameters:
    item - the tab item for which the index is required
    Returns:
    the index of the specified tab item or -1
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the listener is null
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    setSelection

    public void setSelection(int index)
    Set the selection to the tab at the specified index.

    Parameters:
    index - the index of the tab item to be selected
    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

    getSelectionIndex

    public int getSelectionIndex()
    Return the index of the selected tab item, or -1 if there is no selection.

    Returns:
    the index of the selected tab item or -1
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    setSelection

    public void setSelection(CTabItem item)
    Set the selection to the tab at the specified item.

    Parameters:
    item - the tab item to be selected
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the listener is null
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    getSelection

    public CTabItem getSelection()
    Return the selected tab item, or null if there is no selection.

    Returns:
    the selected tab item, or null if none has been selected
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    showSelection

    public void showSelection()
    Shows the selection. If the selection is already showing in the receiver, this method simply returns. Otherwise, the items are scrolled until the selection is visible.

    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:
    showItem(CTabItem)

    showItem

    public void showItem(CTabItem item)
    Shows the item. If the item is already showing in the receiver, this method simply returns. Otherwise, the items are scrolled until the item is visible.

    Parameters:
    item - the item to be shown
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the item is null
    • ERROR_INVALID_ARGUMENT - if the item has been disposed
    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:
    showSelection()

    setMRUVisible

    public void setMRUVisible(boolean show)
    When there is not enough horizontal space to show all the tabs, by default, tabs are shown sequentially from left to right in order of their index. When the MRU visibility is turned on, the tabs that are visible will be the tabs most recently selected. Tabs will still maintain their left to right order based on index but only the most recently selected tabs are visible.

    For example, consider a CTabFolder that contains "Tab 1", "Tab 2", "Tab 3" and "Tab 4" (in order by index). The user selects "Tab 1" and then "Tab 3". If the CTabFolder is now compressed so that only two tabs are visible, by default, "Tab 2" and "Tab 3" will be shown ("Tab 3" since it is currently selected and "Tab 2" because it is the previous item in index order). If MRU visibility is enabled, the two visible tabs will be "Tab 1" and "Tab 3" (in that order from left to right).

    Parameters:
    show - the new visibility state
    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

    getMRUVisible

    public boolean getMRUVisible()
    Returns true if the receiver displays most recently used tabs and false otherwise.

    When there is not enough horizontal space to show all the tabs, by default, tabs are shown sequentially from left to right in order of their index. When the MRU visibility is turned on, the tabs that are visible will be the tabs most recently selected. Tabs will still maintain their left to right order based on index but only the most recently selected tabs are visible.

    For example, consider a CTabFolder that contains "Tab 1", "Tab 2", "Tab 3" and "Tab 4" (in order by index). The user selects "Tab 1" and then "Tab 3". If the CTabFolder is now compressed so that only two tabs are visible, by default, "Tab 2" and "Tab 3" will be shown ("Tab 3" since it is currently selected and "Tab 2" because it is the previous item in index order). If MRU visibility is enabled, the two visible tabs will be "Tab 1" and "Tab 3" (in that order from left to right).

    Returns:
    the receiver's header's visibility state
    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

    setMaximizeVisible

    public void setMaximizeVisible(boolean maximizeVisible)
    Marks the receiver's maximize button as visible if the argument is true, and marks it invisible otherwise.

    Parameters:
    maximizeVisible - the new visibility state
    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

    getMaximizeVisible

    public boolean getMaximizeVisible()
    Returns true if the maximize button is visible.

    Returns:
    the visibility of the maximized button
    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

    setMinimizeVisible

    public void setMinimizeVisible(boolean minimizeVisible)
    Marks the receiver's minimize button as visible if the argument is true, and marks it invisible otherwise.

    Parameters:
    minimizeVisible - the new visibility state
    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

    getMinimizeVisible

    public boolean getMinimizeVisible()
    Returns true if the minimize button is visible.

    Returns:
    the visibility of the minimized button
    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

    setMinimized

    public void setMinimized(boolean minimized)
    Marks the receiver's minimize button as visible if the argument is true, and marks it invisible otherwise.

    Parameters:
    minimized - the new visibility state
    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

    getMinimized

    public boolean getMinimized()
    Returns true if the receiver is minimized.

    Returns:
    the receiver's minimized state
    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

    setMaximized

    public void setMaximized(boolean maximized)
    Sets the maximized state of the receiver.

    Parameters:
    maximized - the new maximized state
    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

    getMaximized

    public boolean getMaximized()
    Returns true if the receiver is maximized.

    Returns:
    the receiver's maximized state
    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

    setLayout

    public void setLayout(Layout layout)
    Sets the layout which is associated with the receiver to be the argument which may be null.

    Note: No Layout can be set on this Control because it already manages the size and position of its children.

    Overrides:
    setLayout in class Composite
    Parameters:
    layout - the receiver's new layout 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

    setTabHeight

    public void setTabHeight(int height)
    Specify a fixed height for the tab items. If no height is specified, the default height is the height of the text or the image, whichever is greater. Specifying a height of -1 will revert to the default height.

    Parameters:
    height - the pixel value of the height or -1
    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
    • ERROR_INVALID_ARGUMENT - if called with a height of less than 0

    getTabHeight

    public int getTabHeight()
    Returns the height of the tab

    Returns:
    the height of the tab
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    getMinimumCharacters

    public int getMinimumCharacters()
    Returns the number of characters that will appear in a fully compressed tab.

    Returns:
    number of characters that will appear in a fully compressed tab

    setMinimumCharacters

    public void setMinimumCharacters(int minimumCharacters)
    Sets the minimum number of characters that will be displayed in a fully compressed tab.

    Parameters:
    minimumCharacters - the minimum number of characters that will be displayed in a fully compressed tab
    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
    • ERROR_INVALID_RANGE - if the count is less than zero

    getStyle

    public int getStyle()
    Description copied from class: Widget
    Returns the receiver's style information.

    Note that the value which is returned by this method may not match the value which was provided to the constructor when the receiver was created. This can occur when the underlying operating system does not support a particular combination of requested styles. For example, if the platform widget used to implement a particular SWT widget always has scroll bars, the result of calling this method would always have the SWT.H_SCROLL and SWT.V_SCROLL bits set.

    Overrides:
    getStyle in class Widget
    Returns:
    the style bits

    getSingle

    public boolean getSingle()
    Returns true if the CTabFolder only displays the selected tab and false if the CTabFolder displays multiple tabs.

    Returns:
    true if the CTabFolder only displys the selected tab and false if the CTabFolder displays multiple tabs

    setSingle

    public void setSingle(boolean single)
    Sets the number of tabs that the CTabFolder should display

    Parameters:
    single - true if only the selected tab should be displayed otherwise, multiple tabs will be shown.
    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

    getTabPosition

    public int getTabPosition()
    Returns the position of the tab. Possible values are SWT.TOP or SWT.BOTTOM.

    Returns:
    the position of the tab
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    setTabPosition

    public void setTabPosition(int position)
    Specify whether the tabs should appear along the top of the folder or along the bottom of the folder.

    Parameters:
    position - SWT.TOP for tabs along the top or SWT.BOTTOM for tabs along the bottom
    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
    • ERROR_INVALID_ARGUMENT - if the position value is not either SWT.TOP or SWT.BOTTOM

    getBorderVisible

    public boolean getBorderVisible()
    Returns true if the receiver's border is visible.

    Returns:
    the receiver's border visibility state
    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

    setBorderVisible

    public void setBorderVisible(boolean show)
    Toggle the visibility of the border

    Parameters:
    show - true if the border should be displayed
    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

    getUnselectedImageVisible

    public boolean getUnselectedImageVisible()
    Returns true if an image appears in unselected tabs.

    Returns:
    true if an image appears in unselected tabs
    Since:
    1.3

    setUnselectedImageVisible

    public void setUnselectedImageVisible(boolean visible)
    Specify whether the image appears on unselected tabs.

    Parameters:
    visible - true makes the image appear
    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:
    1.3

    getUnselectedCloseVisible

    public boolean getUnselectedCloseVisible()
    Returns true if the close button appears when the user hovers over an unselected tabs.

    Returns:
    true if the close button appears on unselected tabs

    setUnselectedCloseVisible

    public void setUnselectedCloseVisible(boolean visible)
    Specify whether the close button appears when the user hovers over an unselected tabs.

    Parameters:
    visible - true makes the close button appear
    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

    computeTrim

    public Rectangle computeTrim(int x,
                                 int y,
                                 int width,
                                 int height)
    Description copied from class: Scrollable
    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).

    Overrides:
    computeTrim in class Scrollable
    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
    See Also:
    Scrollable.getClientArea()

    setSelectionBackground

    public void setSelectionBackground(Color color)
    Sets the receiver's selection background color to the color specified by the argument, or to the default system color for the control if the argument is null.

    Parameters:
    color - the new color (or null)
    Throws:
    IllegalArgumentException -
    • ERROR_INVALID_ARGUMENT - if the argument has been disposed
    SWTException -
    • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

    getSelectionBackground

    public Color getSelectionBackground()
    Returns the receiver's selection background color.

    Returns:
    the selection background color of the receiver
    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

    setSelectionBackground

    public void setSelectionBackground(Color[] colors,
                                       int[] percents)
    Specify a gradient of colours to be draw in the background of the selected tab. For example to draw a gradient that varies from dark blue to blue and then to white, use the following call to setBackground:
      cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE),
                                   display.getSystemColor(SWT.COLOR_BLUE),
                                   display.getSystemColor(SWT.COLOR_WHITE),
                                   display.getSystemColor(SWT.COLOR_WHITE)},
                       new int[] {25, 50, 100});
     

    Parameters:
    colors - an array of Color that specifies the colors to appear in the gradient in order of appearance left to right. The value null clears the background gradient.
    percents - an array of integers between 0 and 100 specifying the percent of the width of the widget at which the color should change. The size of the percents array must be one less than the size of the colors array.
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed
    Since:
    1.3

    setSelectionBackground

    public void setSelectionBackground(Color[] colors,
                                       int[] percents,
                                       boolean vertical)
    Specify a gradient of colours to be draw in the background of the selected tab. For example to draw a vertical gradient that varies from dark blue to blue and then to white, use the following call to setBackground:
      cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE),
                                   display.getSystemColor(SWT.COLOR_BLUE),
                                   display.getSystemColor(SWT.COLOR_WHITE),
                                   display.getSystemColor(SWT.COLOR_WHITE)},
                          new int[] {25, 50, 100}, true);
     

    Parameters:
    colors - an array of Color that specifies the colors to appear in the gradient in order of appearance top to bottom. The value null clears the background gradient.
    percents - an array of integers between 0 and 100 specifying the percent of the width of the widget at which the color should change. The size of the percents array must be one less than the size of the colors array.
    vertical - indicate the direction of the gradient. True is vertical and false is horizontal.
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed
    Since:
    1.3

    setSelectionForeground

    public void setSelectionForeground(Color color)
    Set the foreground color of the selected tab.

    Parameters:
    color - the color of the text displayed in the selected tab
    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

    getSelectionForeground

    public Color getSelectionForeground()
    Returns the receiver's selection foreground color.

    Returns:
    the selection foreground color of the receiver
    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

    setTopRight

    public void setTopRight(Control control)
    Set the control that appears in the top right corner of the tab folder. Typically this is a close button or a composite with a Menu and close button. The topRight control is optional. Setting the top right control to null will remove it from the tab folder.

    Parameters:
    control - the control to be displayed in the top right corner 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
    • ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder

    setTopRight

    public void setTopRight(Control control,
                            int alignment)
    Set the control that appears in the top right corner of the tab folder. Typically this is a close button or a composite with a Menu and close button. The topRight control is optional. Setting the top right control to null will remove it from the tab folder.

    The alignment parameter sets the layout of the control in the tab area. SWT.RIGHT will cause the control to be positioned on the far right of the folder and it will have its default size. SWT.FILL will size the control to fill all the available space to the right of the last tab. If there is no available space, the control will not be visible.

    Parameters:
    control - the control to be displayed in the top right corner or null
    alignment - SWT.RIGHT or SWT.FILL
    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
    • ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder

    getTopRight

    public Control getTopRight()
    Returns the control in the top right corner of the tab folder. Typically this is a close button or a composite with a menu and close button.

    Returns:
    the control in the top right corner of the tab folder or null
    Throws:
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    getAdapter

    public Object getAdapter(Class adapter)
    Description copied from class: Widget
    Implementation of the Adaptable interface.

    IMPORTANT: This method is not part of the RWT public API. It is marked public only so that it can be shared within the packages provided by RWT. It should never be accessed from application code.

    Specified by:
    getAdapter in interface Adaptable
    Overrides:
    getAdapter in class Composite

    setFont

    public void setFont(Font font)
    Description copied from class: Control
    Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.

    Overrides:
    setFont in class Control
    Parameters:
    font - the new font (or null)

    getBorderWidth

    public int getBorderWidth()
    Description copied from class: Control
    Returns the receiver's border width.

    Overrides:
    getBorderWidth in class Control
    Returns:
    the border width

    getClientArea

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

    Overrides:
    getClientArea in class Scrollable
    Returns:
    the client area
    See Also:
    Scrollable.computeTrim(int, int, int, int)

    addSelectionListener

    public void addSelectionListener(SelectionListener listener)
    Adds the listener to receive events.

    Parameters:
    listener - the listener
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the listener is null
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    removeSelectionListener

    public void removeSelectionListener(SelectionListener listener)
    Removes the listener.

    Parameters:
    listener - the listener
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the listener is null
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed

    addCTabFolder2Listener

    public void addCTabFolder2Listener(CTabFolder2Listener listener)
    Adds the listener to the collection of listeners who will be notified when a tab item is closed, minimized, maximized, restored, or to show the list of items that are not currently visible.

    Parameters:
    listener - the listener which should be notified
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the listener is null
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed
    See Also:
    CTabFolder2Listener, removeCTabFolder2Listener(CTabFolder2Listener)

    removeCTabFolder2Listener

    public void removeCTabFolder2Listener(CTabFolder2Listener listener)
    Removes the listener.

    Parameters:
    listener - the listener
    Throws:
    IllegalArgumentException -
    • ERROR_NULL_ARGUMENT - if the listener is null
    SWTException -
    • ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
    • ERROR_WIDGET_DISPOSED when the widget has been disposed
    See Also:
    addCTabFolder2Listener(CTabFolder2Listener)

    Eclipse Rich Ajax Platform
    Release 1.3

    Copyright (c) Innoopract Informationssysteme GmbH and others 2002, 2009. All rights reserved.