|
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.swt.widgets.Canvas
org.eclipse.ui.forms.widgets.ExpandableComposite
public class ExpandableComposite
This composite is capable of expanding or collapsing a single client that is its direct child. The composite renders an expansion toggle affordance (according to the chosen style), and a title that also acts as a hyperlink (can be selected and is traversable). The client is layed out below the title when expanded, or hidden when collapsed.
The widget can be instantiated as-is, or subclassed to modify some aspects of it.
Since 3.1, left/right arrow keys can be used to control the expansion state. If several expandable composites are created in the same parent, up/down arrow keys can be used to traverse between them. Expandable text accepts mnemonics and mnemonic activation will toggle the expansion state.
Section
Field Summary | |
---|---|
static int |
CLIENT_INDENT
If this style is used, the client origin will be vertically aligned with the title text. |
int |
clientVerticalSpacing
Vertical spacing between the title area and the composite client control (default is 3). |
static int |
COMPACT
If this style is used, computed size of the composite will take the client width into consideration only in the expanded state. |
static int |
EXPANDED
If this style is used, the control will be created in the expanded state. |
static int |
FOCUS_TITLE
If this style is used, the title text will be rendered as a hyperlink that can individually accept focus. |
protected int |
GAP
|
static int |
LEFT_TEXT_CLIENT_ALIGNMENT
By default, text client is right-aligned. |
int |
marginHeight
Height of the margin that will be added around the control (default is 0). |
int |
marginWidth
Width of the margin that will be added around the control (default is 0). |
static int |
NO_TITLE
If this style is used, title will not be rendered. |
static int |
SHORT_TITLE_BAR
If this style is used, a short version of the title bar decoration will be painted behind the text. |
protected Control |
textLabel
|
static int |
TITLE_BAR
If this style is used, title bar decoration will be painted behind the text. |
protected ToggleHyperlink |
toggle
|
static int |
TREE_NODE
If this style is used, a tree node with either + or - signs will be used to render the expansion toggle. |
static int |
TWISTIE
If this style is used, a twistie will be used to render the expansion toggle. |
Fields inherited from class org.eclipse.swt.widgets.Control |
---|
handle |
Constructor Summary | |
---|---|
ExpandableComposite(Composite parent,
int style)
Creates an expandable composite using a TWISTIE toggle. |
|
ExpandableComposite(Composite parent,
int style,
int expansionStyle)
Creates the expandable composite in the provided parent. |
Method Summary | |
---|---|
void |
addExpansionListener(IExpansionListener listener)
Adds the listener that will be notified when the expansion state changes. |
Point |
computeSize(int wHint,
int hHint,
boolean changed)
Computes the size of the expandable composite. |
Control |
getClient()
Returns the current expandable client. |
protected Control |
getDescriptionControl()
Returns description control that will be placed under the title if present. |
int |
getExpansionStyle()
Returns the bitwise-ORed style bits for the expansion control. |
protected Control |
getSeparatorControl()
Returns the separator control that will be placed between the title and the description if present. |
java.lang.String |
getText()
Returns the title string. |
Control |
getTextClient()
Returns the text client control. |
Color |
getTitleBarForeground()
Returns the title bar foreground when TITLE_BAR style is used. |
protected boolean |
hasTitleBar()
|
protected void |
internalSetExpanded(boolean expanded)
Performs the expansion state change for the expandable control. |
boolean |
isExpanded()
Tests the expanded state of the composite. |
protected boolean |
isFixedStyle()
Returns true if the composite is fixed i.e. cannot be expanded or collapsed. |
protected void |
onPaint(PaintEvent e)
If TITLE_BAR or SHORT_TITLE_BAR style is used, title bar decoration will be painted behind the text in this method. |
void |
removeExpansionListener(IExpansionListener listener)
Removes the expansion listener. |
void |
setActiveToggleColor(Color c)
Sets the active color of the toggle control (when the mouse enters the toggle area). |
void |
setBackground(Color bg)
Sets the background of all the custom controls in the expandable. |
void |
setClient(Control client)
Sets the client of this expandable composite. |
void |
setExpanded(boolean expanded)
Programmatically changes expanded state. |
void |
setFont(Font font)
Sets the fonts of all the custom controls in the expandable. |
void |
setForeground(Color fg)
Sets the foreground of all the custom controls in the expandable. |
void |
setLayout(Layout layout)
Prevents assignment of the layout manager - expandable composite uses its own layout. |
void |
setMenu(Menu menu)
Overrides 'super' to pass the menu to the text label. |
void |
setText(java.lang.String title)
Sets the title of the expandable composite. |
void |
setTextClient(Control textClient)
Sets the text client control. |
void |
setTitleBarForeground(Color color)
Sets the color of the title bar foreground when TITLE_BAR style is used. |
void |
setToggleColor(Color c)
Sets the color of the toggle control. |
Methods inherited from class org.eclipse.swt.widgets.Canvas |
---|
drawBackground, getCaret, scroll, setCaret |
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 |
Field Detail |
---|
public static final int TWISTIE
public static final int TREE_NODE
public static final int FOCUS_TITLE
public static final int CLIENT_INDENT
public static final int COMPACT
public static final int EXPANDED
public static final int TITLE_BAR
public static final int SHORT_TITLE_BAR
public static final int NO_TITLE
public static final int LEFT_TEXT_CLIENT_ALIGNMENT
public int marginWidth
public int marginHeight
public int clientVerticalSpacing
protected int GAP
protected ToggleHyperlink toggle
protected Control textLabel
Constructor Detail |
---|
public ExpandableComposite(Composite parent, int style)
parent
- the parent compositestyle
- SWT style bitspublic ExpandableComposite(Composite parent, int style, int expansionStyle)
parent
- the parentstyle
- the control styleexpansionStyle
- the style of the expansion widget (TREE_NODE, TWISTIE,
CLIENT_INDENT, COMPACT, FOCUS_TITLE)Method Detail |
---|
public void setMenu(Menu menu)
setMenu
in class Control
menu
- the menu from the parent to attach to this control.public final void setLayout(Layout layout)
setLayout
in class Composite
layout
- the receiver's new layout or nullpublic void setBackground(Color bg)
setBackground
in class Control
bg
- the new color (or null)public void setForeground(Color fg)
setForeground
in class Control
fg
- the new color (or null)public void setToggleColor(Color c)
c
- the color objectpublic void setActiveToggleColor(Color c)
c
- the active color objectpublic void setFont(Font font)
setFont
in class Canvas
font
- the new font (or null)public void setClient(Control client)
client
- the client that will be expanded or collapsedpublic Control getClient()
public void setText(java.lang.String title)
title
- the new title stringgetText()
public java.lang.String getText()
setText(String)
public boolean isExpanded()
public int getExpansionStyle()
public void setExpanded(boolean expanded)
expanded
- the new expanded stateprotected void internalSetExpanded(boolean expanded)
expanded
- the expansion statepublic void addExpansionListener(IExpansionListener listener)
listener
- the listener to addpublic void removeExpansionListener(IExpansionListener listener)
listener
- the listner to removeprotected void onPaint(PaintEvent e)
e
- the paint eventprotected Control getDescriptionControl()
protected Control getSeparatorControl()
public Point computeSize(int wHint, int hHint, boolean changed)
computeSize
in class Composite
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
Composite.computeSize(int, int, boolean)
protected boolean isFixedStyle()
public Control getTextClient()
null
if not.public void setTextClient(Control textClient)
textClient
- the textClient to set or null
if not needed any
more.protected boolean hasTitleBar()
public void setTitleBarForeground(Color color)
color
- the title bar foregroundpublic Color getTitleBarForeground()
|
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.