Constructs a new instance of this class. This is equivalent to calling <code>Shell((Display) null)</code>.
Constructs a new instance of this class given only the style value describing its behavior and appearance. This is equivalent to calling <code>Shell((Display) null, style)</code>. <p> The style value is either one of the style constants defined in class <code>SWT</code> which is applicable to instances of this class, or must be built by <em>bitwise OR</em>'ing together (that is, using the <code>int</code> "|" operator) two or more of those <code>SWT</code> style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses. </p>
Constructs a new instance of this class given only the display to create it on. It is created with style <code>SWT.SHELL_TRIM</code>. <p> Note: Currently, null can be passed in for the display argument. This has the effect of creating the shell on the currently active display if there is one. If there is no current display, the shell is created on a "default" display. <b>Passing in null as the display argument is not considered to be good coding style, and may not be supported in a future release of SWT.</b> </p>
Constructs a new instance of this class given the display to create it on and a style value describing its behavior and appearance. <p> The style value is either one of the style constants defined in class <code>SWT</code> which is applicable to instances of this class, or must be built by <em>bitwise OR</em>'ing together (that is, using the <code>int</code> "|" operator) two or more of those <code>SWT</code> style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses. </p><p> Note: Currently, null can be passed in for the display argument. This has the effect of creating the shell on the currently active display if there is one. If there is no current display, the shell is created on a "default" display. <b>Passing in null as the display argument is not considered to be good coding style, and may not be supported in a future release of SWT.</b> </p>
Constructs a new instance of this class given only its parent. It is created with style <code>SWT.DIALOG_TRIM</code>. <p> Note: Currently, null can be passed in for the parent. This has the effect of creating the shell on the currently active display if there is one. If there is no current display, the shell is created on a "default" display. <b>Passing in null as the parent is not considered to be good coding style, and may not be supported in a future release of SWT.</b> </p>
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance. <p> The style value is either one of the style constants defined in class <code>SWT</code> which is applicable to instances of this class, or must be built by <em>bitwise OR</em>'ing together (that is, using the <code>int</code> "|" operator) two or more of those <code>SWT</code> style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses. </p><p> Note: Currently, null can be passed in for the parent. This has the effect of creating the shell on the currently active display if there is one. If there is no current display, the shell is created on a "default" display. <b>Passing in null as the parent is not considered to be good coding style, and may not be supported in a future release of SWT.</b> </p>
Adds the listener to the collection of listeners who will be notified when operations are performed on the receiver, by sending the listener one of the messages defined in the <code>ShellListener</code> interface.
Requests that the window manager close the receiver in the same way it would be closed when the user clicks on the "close box" or performs some other platform specific key or mouse combination that indicates the window should be removed.
If the receiver is visible, moves it to the top of the drawing order for the display on which it was created (so that all other shells on that display, which are not the receiver's children will be drawn behind it) and forces the window manager to make the shell active.
Returns the receiver's alpha value. The alpha value is between 0 (transparent) and 255 (opaque).
Returns <code>true</code> if the receiver is currently in fullscreen state, and false otherwise. <p>
Returns the receiver's input method editor mode. This will be the result of bitwise OR'ing together one or more of the following constants defined in class <code>SWT</code>: <code>NONE</code>, <code>ROMAN</code>, <code>DBCS</code>, <code>PHONETIC</code>, <code>NATIVE</code>, <code>ALPHA</code>.
Returns a point describing the minimum receiver's size. The x coordinate of the result is the minimum width of the receiver. The y coordinate of the result is the minimum height of the receiver.
Returns the region that defines the shape of the shell, or null if the shell has the default shape.
Returns an array containing all shells which are descendants of the receiver. <p> @return the dialog shells
Moves the receiver to the top of the drawing order for the display on which it was created (so that all other shells on that display, which are not the receiver's children will be drawn behind it), marks it visible, sets the focus and asks the window manager to make the shell active.
Removes the listener from the collection of listeners who will be notified when operations are performed on the receiver.
If the receiver is visible, moves it to the top of the drawing order for the display on which it was created (so that all other shells on that display, which are not the receiver's children will be drawn behind it) and asks the window manager to make the shell active
Sets the receiver's alpha value which must be between 0 (transparent) and 255 (opaque). <p> This operation requires the operating system's advanced widgets subsystem which may not be available on some platforms. </p> @param alpha the alpha value
Sets the full screen state of the receiver. If the argument is <code>true</code> causes the receiver to switch to the full screen state, and if the argument is <code>false</code> and the receiver was previously switched into full screen state, causes the receiver to switch back to either the maximmized or normal states. <p> Note: The result of intermixing calls to <code>setFullScreen(true)</code>, <code>setMaximized(true)</code> and <code>setMinimized(true)</code> will vary by platform. Typically, the behavior will match the platform user's expectations, but not always. This should be avoided if possible. </p>
Sets the input method editor mode to the argument which should be the result of bitwise OR'ing together one or more of the following constants defined in class <code>SWT</code>: <code>NONE</code>, <code>ROMAN</code>, <code>DBCS</code>, <code>PHONETIC</code>, <code>NATIVE</code>, <code>ALPHA</code>.
Sets the receiver's minimum size to the size specified by the argument. If the new minimum size is larger than the current size of the receiver, the receiver is resized to the new minimum size.
Sets the receiver's minimum size to the size specified by the arguments. If the new minimum size is larger than the current size of the receiver, the receiver is resized to the new minimum size.
Sets the shape of the shell to the region specified by the argument. When the argument is null, the default shape of the shell is restored. The shell must be created with the style SWT.NO_TRIM in order to specify a region.
Invokes platform specific functionality to allocate a new shell that is not embedded. <p> <b>IMPORTANT:</b> This method is <em>not</em> part of the public API for <code>Shell</code>. It is marked public only so that it can be shared within the packages provided by SWT. It is not available on all platforms, and should never be called from application code. </p>
Returns the receiver's default button if one had previously been set, otherwise returns null.
Returns the receiver's image if it had previously been set using <code>setImage()</code>. 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. <p> Note: This method will return null if called before <code>setImage()</code> is called. It does not provide access to a window manager provided, "default" image even if one exists. </p>
Returns the receiver's images if they had previously been set using <code>setImages()</code>. Images are 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. Depending where the icon is displayed, the platform chooses the icon with the "best" attributes. It is expected that the array will contain the same icon rendered at different sizes, with different depth and transparency attributes.
Returns <code>true</code> if the receiver is currently maximized, and false otherwise. <p>
Returns the receiver's menu bar if one had previously been set, otherwise returns null.
Returns <code>true</code> if the receiver is currently minimized, and false otherwise. <p>
Returns the receiver's text, which is the string that the window manager will typically display as the receiver's <em>title</em>. If the text has not previously been set, returns an empty string.
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 <em>saved default button</em>). 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. <p> The default button is the button that is selected when the receiver is active and the user presses ENTER. </p>
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.
Sets the receiver's images to the argument, which may be an empty array. Images are 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. Depending where the icon is displayed, the platform chooses the icon with the "best" attributes. It is expected that the array will contain the same icon rendered at different sizes, with different depth and transparency attributes.
Sets the maximized state of the receiver. If the argument is <code>true</code> causes the receiver to switch to the maximized state, and if the argument is <code>false</code> and the receiver was previously maximized, causes the receiver to switch back to either the minimized or normal states. <p> Note: The result of intermixing calls to <code>setMaximized(true)</code> and <code>setMinimized(true)</code> will vary by platform. Typically, the behavior will match the platform user's expectations, but not always. This should be avoided if possible. </p>
Sets the receiver's menu bar to the argument, which may be null.
Sets the minimized stated of the receiver. If the argument is <code>true</code> causes the receiver to switch to the minimized state, and if the argument is <code>false</code> and the receiver was previously minimized, causes the receiver to switch back to either the maximized or normal states. <p> Note: The result of intermixing calls to <code>setMaximized(true)</code> and <code>setMinimized(true)</code> will vary by platform. Typically, the behavior will match the platform user's expectations, but not always. This should be avoided if possible. </p>
Sets the receiver's text, which is the string that the window manager will typically display as the receiver's <em>title</em>, to the argument, which must not be null.
Instances of this class represent the "windows" which the desktop or "window manager" is managing. Instances that do not have a parent (that is, they are built using the constructor, which takes a <code>Display</code> as the argument) are described as <em>top level</em> shells. Instances that do have a parent are described as <em>secondary</em> or <em>dialog</em> shells. <p> Instances are always displayed in one of the maximized, minimized or normal states: <ul> <li> When an instance is marked as <em>maximized</em>, the window manager will typically resize it to fill the entire visible area of the display, and the instance is usually put in a state where it can not be resized (even if it has style <code>RESIZE</code>) until it is no longer maximized. </li><li> When an instance is in the <em>normal</em> state (neither maximized or minimized), its appearance is controlled by the style constants which were specified when it was created and the restrictions of the window manager (see below). </li><li> When an instance has been marked as <em>minimized</em>, its contents (client area) will usually not be visible, and depending on the window manager, it may be "iconified" (that is, replaced on the desktop by a small simplified representation of itself), relocated to a distinguished area of the screen, or hidden. Combinations of these changes are also possible. </li> </ul> </p><p> The <em>modality</em> of an instance may be specified using style bits. The modality style bits are used to determine whether input is blocked for other shells on the display. The <code>PRIMARY_MODAL</code> style allows an instance to block input to its parent. The <code>APPLICATION_MODAL</code> style allows an instance to block input to every other shell in the display. The <code>SYSTEM_MODAL</code> style allows an instance to block input to all shells, including shells belonging to different applications. </p><p> Note: The styles supported by this class are treated as <em>HINT</em>s, since the window manager for the desktop on which the instance is visible has ultimate control over the appearance and behavior of decorations and modality. For example, some window managers only support resizable windows and will always assume the RESIZE style, even if it is not set. In addition, if a modality style is not supported, it is "upgraded" to a more restrictive modality style that is supported. For example, if <code>PRIMARY_MODAL</code> is not supported, it would be upgraded to <code>APPLICATION_MODAL</code>. A modality style may also be "downgraded" to a less restrictive style. For example, most operating systems no longer support <code>SYSTEM_MODAL</code> because it can freeze up the desktop, so this is typically downgraded to <code>APPLICATION_MODAL</code>. <dl> <dt><b>Styles:</b></dt> <dd>BORDER, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE, ON_TOP, TOOL</dd> <dd>APPLICATION_MODAL, MODELESS, PRIMARY_MODAL, SYSTEM_MODAL</dd> <dt><b>Events:</b></dt> <dd>Activate, Close, Deactivate, Deiconify, Iconify</dd> </dl> Class <code>SWT</code> provides two "convenience constants" for the most commonly required style combinations: <dl> <dt><code>SHELL_TRIM</code></dt> <dd> the result of combining the constants which are required to produce a typical application top level shell: (that is, <code>CLOSE | TITLE | MIN | MAX | RESIZE</code>) </dd> <dt><code>DIALOG_TRIM</code></dt> <dd> the result of combining the constants which are required to produce a typical application dialog shell: (that is, <code>TITLE | CLOSE | BORDER</code>) </dd> </dl> </p> <p> Note: Only one of the styles APPLICATION_MODAL, MODELESS, PRIMARY_MODAL and SYSTEM_MODAL may be specified. </p><p> IMPORTANT: This class is not intended to be subclassed. </p>
@see Decorations @see SWT @see <a href="http://www.eclipse.org/swt/snippets/#shell">Shell snippets</a> @see <a href="http://www.eclipse.org/swt/examples.php">SWT Example: ControlExample</a> @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>