Eclipse Platform
Release 3.0

org.eclipse.ui.forms.widgets
Class Section

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.ui.forms.widgets.ExpandableComposite
                      extended byorg.eclipse.ui.forms.widgets.Section
All Implemented Interfaces:
Drawable

public final class Section
extends ExpandableComposite

A variation of the expandable composite that adds optional description below the title. Section is often used as a basic building block if forms because it provides for logical grouping of information.

In case of the TITLE_BAR style, Section renders the title bar in a way compatible with the rest of the workbench. Since it is a widget, all the colors must be supplied directly. When created by the form toolkit, these colors are supplied by the toolkit. The toolkit initializes these colors based on the system colors. For this reason, it is recommended to create the section by the toolkit instead of through its own constructor.

Since:
3.0

Field Summary
static int DESCRIPTION
          Description style.
 
Fields inherited from class org.eclipse.ui.forms.widgets.ExpandableComposite
CLIENT_INDENT, clientVerticalSpacing, COMPACT, EXPANDED, FOCUS_TITLE, GAP, marginHeight, marginWidth, NO_TITLE, textLabel, TITLE_BAR, toggle, TREE_NODE, TWISTIE
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
Section(Composite parent, int style)
          Creates a new section instance in the provided parent.
 
Method Summary
 String getDescription()
          Returns the current description text.
protected  Control getDescriptionControl()
          Returns the control used to render the description.
 Control getSeparatorControl()
          Returns the control that is used as a separator betweeen the title and the client, or null if not set.
 Color getTitleBarBackground()
          Returns the title bar background when TITLE_BAR style is used.
 Color getTitleBarBorderColor()
          Returns the title bar border color when TITLE_BAR style is used.
 Color getTitleBarForeground()
          Returns the title bar foreground when TITLE_BAR style is used.
 Color getTitleBarGradientBackground()
          Returns the title bar gradient background color when TITLE_BAR style is used.
protected  void internalSetExpanded(boolean expanded)
          Performs the expansion state change for the expandable control.
protected  void onPaint(PaintEvent e)
          If TITLE_BAR style is used, title bar decoration will be painted behind the text in this method.
protected  void reflow()
           
 void setBackground(Color bg)
          Sets the background of the section.
 void setDescription(String description)
          Sets the description text.
 void setForeground(Color fg)
          Sets the foreground of the section.
 void setSeparatorControl(Control separator)
          Sets the separator control of this section.
 void setTitleBarBackground(Color color)
          Sets the color of the title bar background when TITLE_BAR style is used.
 void setTitleBarBorderColor(Color color)
          Sets the color of the title bar border when TITLE_BAR style is used.
 void setTitleBarForeground(Color color)
          Sets the color of the title bar foreground when TITLE_BAR style is used.
 void setTitleBarGradientBackground(Color color)
          Sets the color of the title bar gradient background when TITLE_BAR style is used.
 
Methods inherited from class org.eclipse.ui.forms.widgets.ExpandableComposite
addExpansionListener, computeSize, getClient, getExpansionStyle, getText, getTextClient, isExpanded, isFixedStyle, removeExpansionListener, setActiveToggleColor, setClient, setExpanded, setFont, setLayout, setText, setTextClient, setToggleColor
 
Methods inherited from class org.eclipse.swt.widgets.Composite
checkSubclass, getChildren, getLayout, getTabList, layout, layout, setFocus, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBounds, setBounds, setCapture, setCursor, setEnabled, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DESCRIPTION

public static final int DESCRIPTION
Description style. If used, description will be rendered below the title.

See Also:
Constant Field Values
Constructor Detail

Section

public Section(Composite parent,
               int style)
Creates a new section instance in the provided parent.

Parameters:
parent - the parent composite
style - the style to use
Method Detail

internalSetExpanded

protected void internalSetExpanded(boolean expanded)
Description copied from class: ExpandableComposite
Performs the expansion state change for the expandable control.

Overrides:
internalSetExpanded in class ExpandableComposite
Parameters:
expanded - the expansion state

reflow

protected void reflow()

setDescription

public void setDescription(String description)
Sets the description text. Has no effect of DESCRIPTION style was not used to create the control.

Parameters:
description -

getDescription

public String getDescription()
Returns the current description text.

Returns:
description text or null if DESCRIPTION style was not used to create the control.

setSeparatorControl

public void setSeparatorControl(Control separator)
Sets the separator control of this section. The separator must not be null and must be a direct child of this container. If defined, separator will be placed below the title text and will remain visible regardless of the expansion state.

Parameters:
separator - the separator that will be placed below the title text.

getSeparatorControl

public Control getSeparatorControl()
Returns the control that is used as a separator betweeen the title and the client, or null if not set.

Overrides:
getSeparatorControl in class ExpandableComposite
Returns:
separator control or null if not set.

setBackground

public void setBackground(Color bg)
Sets the background of the section.

Overrides:
setBackground in class ExpandableComposite
Parameters:
bg - the new background

setForeground

public void setForeground(Color fg)
Sets the foreground of the section.

Overrides:
setForeground in class ExpandableComposite
Parameters:
fg - the new foreground.

getDescriptionControl

protected Control getDescriptionControl()
Returns the control used to render the description.

Overrides:
getDescriptionControl in class ExpandableComposite
Returns:
description control or null if DESCRIPTION style was not used to create the control.

setTitleBarBorderColor

public void setTitleBarBorderColor(Color color)
Sets the color of the title bar border when TITLE_BAR style is used.

Parameters:
color - the title bar border color

setTitleBarForeground

public void setTitleBarForeground(Color color)
Sets the color of the title bar foreground when TITLE_BAR style is used.

Parameters:
color - the title bar foreground

setTitleBarBackground

public void setTitleBarBackground(Color color)
Sets the color of the title bar background when TITLE_BAR style is used. This color is used as a starting color for the vertical gradient.

Parameters:
color - the title bar border background

setTitleBarGradientBackground

public void setTitleBarGradientBackground(Color color)
Sets the color of the title bar gradient background when TITLE_BAR style is used. This color is used at the height where title controls end (toggle, tool bar).

Parameters:
color - the title bar gradient background

getTitleBarBorderColor

public Color getTitleBarBorderColor()
Returns the title bar border color when TITLE_BAR style is used.

Returns:
the title bar border color

getTitleBarGradientBackground

public Color getTitleBarGradientBackground()
Returns the title bar gradient background color when TITLE_BAR style is used.

Returns:
the title bar gradient background

getTitleBarForeground

public Color getTitleBarForeground()
Returns the title bar foreground when TITLE_BAR style is used.

Returns:
the title bar foreground

getTitleBarBackground

public Color getTitleBarBackground()
Returns the title bar background when TITLE_BAR style is used.

Returns:
the title bar background

onPaint

protected void onPaint(PaintEvent e)
Description copied from class: ExpandableComposite
If TITLE_BAR style is used, title bar decoration will be painted behind the text in this method. The default implementation does nothing - subclasses are responsible for rendering the title area.

Overrides:
onPaint in class ExpandableComposite
Parameters:
e - the paint event

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.