Eclipse Platform
2.0

org.eclipse.swt.widgets
Class Decorations

java.lang.Object
  |
  +--org.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.swt.widgets.Decorations
All Implemented Interfaces:
Drawable
Direct Known Subclasses:
Shell

public class Decorations
extends Canvas

Instances of this class provide the appearance and behavior of Shells, but are not top level shells or dialogs. Class Shell shares a significant amount of code with this class, and is a subclass.

Instances are always displayed in one of the maximized, minimized or normal states:

Note: The styles supported by this class must be treated as HINTs, since the window manager for the desktop on which the instance is visible has ultimate control over the appearance and behavior of decorations. For example, some window managers only support resizable windows and will always assume the RESIZE style, even if it is not set.
Styles:
BORDER, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE, ON_TOP, TOOL
Events:
(none)
Class SWT provides two "convenience constants" for the most commonly required style combinations:
SHELL_TRIM
the result of combining the constants which are required to produce a typical application top level shell: (that is, CLOSE | TITLE | MIN | MAX | RESIZE)
DIALOG_TRIM
the result of combining the constants which are required to produce a typical application dialog shell: (that is, TITLE | CLOSE | BORDER)

IMPORTANT: This class is intended to be subclassed only within the SWT implementation.

See Also:
getMinimized(), getMaximized(), Shell, SWT

Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
Decorations(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
protected  void checkSubclass()
          Checks that this class can be subclassed.
 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.
 Rectangle getBounds()
          Returns a rectangle describing the receiver's size and location relative to its parent (or its display if its parent is null).
 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").
 Button getDefaultButton()
          Returns the receiver's default button if one had previously been set, otherwise returns null.
 Image getImage()
          Returns the receiver's image if it had previously been set using setImage().
 Point getLocation()
          Returns a point describing the receiver's location relative to its parent (or its display if its parent is null).
 boolean getMaximized()
          Returns true if the receiver is currently maximized, and false otherwise.
 Menu getMenuBar()
          Returns the receiver's menu bar if one had previously been set, otherwise returns null.
 boolean getMinimized()
          Returns true if the receiver is currently minimized, and false otherwise.
 Point getSize()
          Returns a point describing the receiver's size.
 String getText()
          Returns the receiver's text, which is the string that the window manager will typically display as the receiver's title.
 void setDefaultButton(Button button)
          If the argument is not null, sets the receiver's default button to the argument, and if the argument is null, sets the receiver's default button to the first button which was set as the receiver's default button (called the saved default button).
 boolean setFocus()
          Causes the receiver to have the keyboard focus, such that all keyboard events will be delivered to it.
 void setImage(Image image)
          Sets the receiver's image to the argument, which may be null.
 void setMaximized(boolean maximized)
          Sets the maximized state of the receiver.
 void setMenuBar(Menu menu)
          Sets the receiver's menu bar to the argument, which may be null.
 void setMinimized(boolean minimized)
          Sets the minimized stated of the receiver.
 void setText(String string)
          Sets the receiver's text, which is the string that the window manager will typically display as the receiver's title, to the argument, which may not be null.
 void setVisible(boolean visible)
          Marks the receiver as visible if the argument is true, and marks it invisible otherwise.
 
Methods inherited from class org.eclipse.swt.widgets.Canvas
getCaret, scroll, setCaret, setFont
 
Methods inherited from class org.eclipse.swt.widgets.Composite
computeSize, getChildren, getLayout, getTabList, layout, layout, setLayout, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
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, getDisplay, getEnabled, getFont, getForeground, getLayoutData, getMenu, getParent, getShell, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isDisposed, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBounds, setBounds, setCapture, setCursor, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, toControl, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getStyle, 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

Decorations

public Decorations(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 -
SWTException -
See Also:
SWT.BORDER, SWT.CLOSE, SWT.MIN, SWT.MAX, SWT.RESIZE, SWT.TITLE, SWT.NO_TRIM, SWT.SHELL_TRIM, SWT.DIALOG_TRIM, SWT.ON_TOP, SWT.TOOL, Widget.checkSubclass(), Widget.getStyle()
Method Detail

checkSubclass

protected void checkSubclass()
Description copied from class: Widget
Checks that this class can be subclassed.

The SWT class library is intended to be subclassed only at specific, controlled points (most notably, Composite and Canvas when implementing new widgets). This method enforces this rule unless it is overridden.

IMPORTANT: By providing an implementation of this method that allows a subclass of a class which does not normally allow subclassing to be created, the implementer agrees to be fully responsible for the fact that any such subclass will likely fail between SWT releases and will be strongly platform specific. No support is provided for user-written classes which are implemented in this fashion.

The ability to subclass outside of the allowed SWT classes is intended purely to enable those not on the SWT development team to implement patches in order to get around specific limitations in advance of when those limitations can be addressed by the team. Subclassing should not be attempted without an intimate and detailed understanding of the hierarchy.

Overrides:
checkSubclass in class Composite

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
Returns:
the required bounds to produce the given client area
See Also:
Scrollable.getClientArea()

getBounds

public Rectangle getBounds()
Description copied from class: Control
Returns a rectangle describing the receiver's size and location relative to its parent (or its display if its parent is null).

Overrides:
getBounds in class Control
Returns:
the receiver's bounding rectangle

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)

getDefaultButton

public Button getDefaultButton()
Returns the receiver's default button if one had previously been set, otherwise returns null.

Returns:
the default button 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
See Also:
setDefaultButton(org.eclipse.swt.widgets.Button)

getImage

public Image getImage()
Returns the receiver's image if it had previously been set using setImage(). The image is typically displayed by the window manager when the instance is marked as iconified, and may also be displayed somewhere in the trim when the instance is in normal or maximized states.

Note: This method will return null if called before setImage() is called. It does not provide access to a window manager provided, "default" image even if one exists.

Returns:
the image
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

getLocation

public Point getLocation()
Description copied from class: Control
Returns a point describing the receiver's location relative to its parent (or its display if its parent is null).

Overrides:
getLocation in class Control
Returns:
the receiver's location

getMaximized

public boolean getMaximized()
Returns true if the receiver is currently maximized, and false otherwise.

Returns:
the 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
See Also:
setMaximized(boolean)

getMenuBar

public Menu getMenuBar()
Returns the receiver's menu bar if one had previously been set, otherwise returns null.

Returns:
the menu 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

getMinimized

public boolean getMinimized()
Returns true if the receiver is currently minimized, and false otherwise.

Returns:
the 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
See Also:
setMinimized(boolean)

getSize

public Point getSize()
Description copied from class: Control
Returns a point describing the receiver's size. The x coordinate of the result is the width of the receiver. The y coordinate of the result is the height of the receiver.

Overrides:
getSize in class Control
Returns:
the receiver's size

getText

public String getText()
Returns the receiver's text, which is the string that the window manager will typically display as the receiver's title. If the text has not previously been set, returns an empty string.

Returns:
the text
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

setDefaultButton

public void setDefaultButton(Button button)
If the argument is not null, sets the receiver's default button to the argument, and if the argument is null, sets the receiver's default button to the first button which was set as the receiver's default button (called the saved default button). If no default button had previously been set, or the saved default button was disposed, the receiver's default button will be set to null.

Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the button 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

setFocus

public boolean setFocus()
Description copied from class: Control
Causes the receiver to have the keyboard focus, such that all keyboard events will be delivered to it.

Overrides:
setFocus in class Composite
Returns:
true if the control got focus, and false if it was unable to.
See Also:
Control.forceFocus()

setImage

public void setImage(Image image)
Sets the receiver's image to the argument, which may be null. The image is typically displayed by the window manager when the instance is marked as iconified, and may also be displayed somewhere in the trim when the instance is in normal or maximized states.

Parameters:
image - the new image (or null)
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the image 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

setMaximized

public void setMaximized(boolean maximized)
Sets the maximized state of the receiver. If the argument is true causes the receiver to switch to the maximized state, and if the argument is false and the receiver was previously maximized, causes the receiver to switch back to either the minimized or normal states.

Note: The result of intermixing calls tosetMaximized(true) and setMinimized(true) will vary by platform. Typically, the behavior will match the platform user's expectations, but not always. This should be avoided if possible.

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:
setMinimized(boolean)

setMenuBar

public void setMenuBar(Menu menu)
Sets the receiver's menu bar to the argument, which may be null.

Parameters:
menu - the new menu bar
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the menu has been disposed
  • ERROR_INVALID_PARENT - if the menu is not in the same widget tree
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)
Sets the minimized stated of the receiver. If the argument is true causes the receiver to switch to the minimized state, and if the argument is false and the receiver was previously minimized, causes the receiver to switch back to either the maximized or normal states.

Note: The result of intermixing calls tosetMaximized(true) and setMinimized(true) will vary by platform. Typically, the behavior will match the platform user's expectations, but not always. This should be avoided if possible.

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:
setMaximized(boolean)

setText

public void setText(String string)
Sets the receiver's text, which is the string that the window manager will typically display as the receiver's title, to the argument, which may not be null.

Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the listener is null
SWTException -
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

setVisible

public void setVisible(boolean visible)
Description copied from class: Control
Marks the receiver as visible if the argument is true, and marks it invisible otherwise.

If one of the receiver's ancestors is not visible or some other condition makes the receiver not visible, marking it visible may not actually cause it to be displayed.

Overrides:
setVisible in class Control
Parameters:
visible - the new visibility state

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.