|
Eclipse Platform Release 3.2 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.ui.forms.widgets.Form
Form is a custom control that renders a title and an optional background
image above the body composite. It can be used alone when part of parents
that are scrolled. If scrolling is required, use ScrolledForm
instead because it has an instance of Form
and adds scrolling
capability.
Form can have a title if set. If not set, title area will not be left empty - form body will be resized to fill the entire form. In addition, an optional title image can be set and is rendered to the left of the title (since 3.2).
The form supports status messages. These messages can have various severity (error, warning, info or none). Message tray can be minimized and later restored by the user, but can only be closed programmatically.
Form can have a background image behind the title text. The image is tiled as many times as needed to fill the title area. Alternatively, gradient background can be painted vertically or horizontally.
Form can be put in a 'busy' state. While in this state, title image is replaced with an animation that lasts as long as the 'busy' state is active.
It is possible to create an optional head client control. When created, this control is placed next to the title. If title tool bar is also present, a new row is created in the header, and the tool bar is right-justified in the second row.
Form has a custom layout manager that is wrap-enabled. If a form is placed in a composite whose layout manager implements ILayoutExtension, the body of the worm will participate in wrapping as long as its layout manager implements ILayoutExtension as well.
Children of the form should typically be created using FormToolkit to match the appearance and behaviour. When creating children, use the form body as a parent by calling 'getBody()' on the form instance. Example:
FormToolkit toolkit = new FormToolkit(parent.getDisplay()); Form form = toolkit.createForm(parent); formContent.setText("Sample form"); formContent.getBody().setLayout(new GridLayout()); toolkit.createButton(formContent.getBody(), "Checkbox", SWT.CHECK);
No layout manager has been set on the body. Clients are required to set the desired layout manager explicitly.
Although the class is not final, it should not be subclassed.
Field Summary |
---|
Fields inherited from class org.eclipse.swt.widgets.Control |
---|
handle |
Constructor Summary | |
---|---|
Form(Composite parent,
int style)
Creates the form content control as a child of the provided parent. |
Method Summary | |
---|---|
Point |
computeSize(int wHint,
int hHint,
boolean changed)
Fully delegates the size computation to the internal layout manager. |
Image |
getBackgroundImage()
Returns the optional background image of the form head. |
int |
getBackgroundImageAlignment()
Deprecated. due to the underlying widget limitations, background image is always tiled and alignment cannot be controlled. |
Composite |
getBody()
Returns the container that occupies the body of the form (the form area below the title). |
Composite |
getHead()
Returns the container that occupies the head of the form (the form area above the body). |
Control |
getHeadClient()
Returns the optional head client if set. |
Image |
getImage()
Returns the title image that will be rendered to the left of the title. |
Color |
getSeparatorColor()
Returns the color used to render the optional head separator. |
String |
getText()
Returns the title text that will be rendered at the top of the form. |
IToolBarManager |
getToolBarManager()
Returns the tool bar manager that is used to manage tool items in the form's title area. |
boolean |
isBackgroundImageClipped()
Deprecated. due to the underlying widget limitations, background image is always clipped. |
boolean |
isBackgroundImageTiled()
Tests if the background image is tiled to cover the entire area of the form heading. |
boolean |
isBusy()
Tests if the form is in the 'busy' state. |
boolean |
isSeparatorVisible()
Tests if the form head separator is visible. |
void |
setBackground(Color bg)
Sets the background color of the form. |
void |
setBackgroundImage(Image backgroundImage)
Sets the optional background image to be rendered behind the title starting at the position 0,0. |
void |
setBackgroundImageAlignment(int backgroundImageAlignment)
Deprecated. due to the underlying widget limitations, background image is always tiled and alignment cannot be controlled. |
void |
setBackgroundImageClipped(boolean backgroundImageClipped)
Deprecated. due to the underlying widget limitations, background image is always clipped. |
void |
setBackgroundImageTiled(boolean backgroundImageTiled)
Sets whether the header background image is repeated to cover the entire heading area or not. |
void |
setBusy(boolean busy)
Sets the form's busy state. |
void |
setFont(Font font)
Sets the font of the header text. |
void |
setForeground(Color fg)
Sets the foreground color of the form. |
void |
setHeadClient(Control headClient)
Sets the optional head client. |
void |
setImage(Image image)
Sets the image to be rendered to the left of the title. |
void |
setLayout(Layout layout)
Prevents from changing the custom control layout. |
void |
setMenu(Menu menu)
Passes the menu to the form body. |
void |
setMessage(String message)
Sets the message for this form. |
void |
setMessage(String newMessage,
int newType)
Sets the message for this form with an indication of what type of message it is. |
void |
setSeparatorColor(Color separatorColor)
Sets the color to be used to render the optional head separator. |
void |
setSeparatorVisible(boolean addSeparator)
If set, adds a separator between the head and body. |
void |
setText(String text)
Sets the text to be rendered at the top of the form above the body as a title. |
void |
setTextBackground(Color[] gradientColors,
int[] percents,
boolean vertical)
Sets the background colors to be painted behind the title text in a gradient. |
void |
updateToolBar()
Updates the local tool bar manager if used. |
Methods inherited from class org.eclipse.swt.widgets.Composite |
---|
changed, checkSubclass, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayoutDeferred, setTabList |
Methods inherited from class org.eclipse.swt.widgets.Scrollable |
---|
computeTrim, getClientArea, getHorizontalBar, getVerticalBar |
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 |
Constructor Detail |
public Form(Composite parent, int style)
parent
- the parent widgetMethod Detail |
public void setMenu(Menu menu)
setMenu
in class Control
menu
- the parent menupublic final Point computeSize(int wHint, int hHint, boolean changed)
computeSize
in class Composite
public final void setLayout(Layout layout)
setLayout
in class Composite
layout
- the receiver's new layout or nullpublic String getText()
public Image getImage()
null
if not set.public void setForeground(Color fg)
setForeground
in class Control
fg
- the foreground colorpublic void setBackground(Color bg)
setBackground
in class Control
bg
- the background colorpublic void setFont(Font font)
setFont
in class Control
font
- the new fontpublic void setText(String text)
text
- the title textpublic void setImage(Image image)
image
- the title image or null
to show no image.public void setTextBackground(Color[] gradientColors, int[] percents, boolean vertical)
gradientColors
- the array of colors that form the gradientpercents
- the partition of the overall space between the gradient colorsvertical
- of true
, the gradient will be rendered
vertically, if false
the orientation will be
horizontal.public Image getBackgroundImage()
getBackgroundImage
in class Control
null
if not specified.public void setBackgroundImage(Image backgroundImage)
setBackgroundImage
in class Control
backgroundImage
- the head background image.public IToolBarManager getToolBarManager()
public void updateToolBar()
public Composite getHead()
public Control getHeadClient()
null
if not set.setHeadClient(Control)
public void setHeadClient(Control headClient)
The head client must be a child of the composite returned by
getHead()
method.
headClient
- the optional child of the headpublic Composite getBody()
public boolean isBackgroundImageTiled()
true
if heading background image is tiled,
false
otherwise.public void setBackgroundImageTiled(boolean backgroundImageTiled)
backgroundImageTiled
- set true
to tile the image, or
false
to paint the background image only oncepublic int getBackgroundImageAlignment()
public void setBackgroundImageAlignment(int backgroundImageAlignment)
backgroundImageAlignment
- The backgroundImageAlignment to set.public boolean isBackgroundImageClipped()
public void setBackgroundImageClipped(boolean backgroundImageClipped)
backgroundImageClipped
- the value to setpublic boolean isSeparatorVisible()
true
if the head/body separator is visible,
false
otherwisepublic void setSeparatorVisible(boolean addSeparator)
addSeparator
- true
to make the separator visible,
false
otherwise.public Color getSeparatorColor()
null
if not set.public void setSeparatorColor(Color separatorColor)
separatorColor
- the color to render the head separator or null
to use the default color.public void setMessage(String message)
message
- the message, or null
to clear the messagesetMessage(String, int)
public void setMessage(String newMessage, int newType)
The valid message types are one of NONE
,
INFORMATION
,WARNING
, or
ERROR
.
newMessage
- the message, or null
to clear the messagenewType
- the message typepublic boolean isBusy()
true
if busy, false
otherwise.public void setBusy(boolean busy)
busy
- the form's busy state
|
Eclipse Platform Release 3.2 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.